1、 职业教育教学用书 C#入门与提高 主 编 王乾坤 副主编 王香菊 赵震奇 华 艳 胡晓敏 黄丹丹 主 审 高振栋 彭仲昆 主审 内 容 简 介 本书全面系统地介绍了 C#编程语言,所涉及的内容涵盖了 C#语言的各个领域。第 18 章:介绍.NET 的基础体系结构开发环境的搭建和使用,以及 C#语言的基本知识和面向对象的基本理论和思想。第 912 章:通过实例项目中数据结构的设计、系统结构的设计,以及源码内容的介绍,让读者全面深入地了解 C#语言。第 1314 章:重点介绍文件操作和图形的处理。第 1516 章:介绍.NET 环境下数据库的使用。第 1718 章:作为进阶部分,介绍了网络编程和
2、多线程技术。本书内容丰富,结构清晰,通过大量精彩实例和真实项目示例,帮助开发人员从实践中成长。本书是 C#初学者的入门指导书,同样适合具备一定编程经验的开发人员。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 C#入门与提高/王乾坤主编.北京:电子工业出版社,2015.6 ISBN 978-7-121-21496-7.C.王.C 语言程序设计职业教育教材.TP312 中国版本图书馆 CIP 数据核字(2013)第 218764 号 策划编辑:施玉新 责任编辑:郝黎明 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信
3、箱 邮编 100036 开 本:7871 092 1/16 印张:16.25 字数:416 千字 版 次:2015 年 6 月第 1 版 印 次:2015 年 6 月第 1 次印刷 定 价:36.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。前 言 在过去的 20 年里,C 和 C+已经成为商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,但同时也牺牲了一定的效率。与诸如 Microsoft
4、Visual Basic 等语言相比,同等级别的 C/C+应用程序往往需要更长的时间来开发。由于 C/C+语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。目前,有些语言以牺牲灵活性的代价来提高效率。可是这些灵活性正是 C/C+程序员所需要的。这些解决方案对编程人员的限制过多,其所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。对于 C/C+用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些
5、 C/C+开发人员还需要在必要的时候进行一些底层的编程。于是 Microsoft 推出了 C#。它是一种最新的、面向对象的编程语言。它能使程序员可以快速地编写各种基于 Microsoft.NET 平台的应用程序,而Microsoft.NET 提供了一系列的工具和服务来最大程度地开发和利用计算与通信相关领域的各种应用。最重要的是,C#使得 C+程序员可以高效地开发程序,而保留了 C/C+原有绝大部分强大的功能。因为这种继承关系,C#与 C/C+具有极大的相似性,熟悉此类语言的开发者可以很快地转向 C#。同时,C#还有兼顾效率与安全性、支持现有的网络编程新标准、消除大量程序错误和对商业过程和软件实
6、现的更好对应的优点。作为一本实用教程,本书详细分析和研究了 C#的所有功能。本书具有以下几个显著特点:在内容上,本书侧重于向读者介绍 C#从基础到高级的内容,力图解决初学者和专业人员使用该产品时遇到的各种疑难问题,使他们掌握使用该新产品的各种技术。每章的开头列出了本章的学习目标和学习要点。学习目标之后是正文内容。正文内容结束后为项目实践,使读者在实践中理解学习内容。最后是习题和上机实验,主要用于考察读者是否掌握了基本概念和实际操作的能力。在编排上,为了使读者更加方便快速地学习和掌握该产品的功能,本书从基础运用到高级运用循序渐进展开。第 18 章:介绍.NET 的基础体系结构开发环境的搭建和使用
7、,以及 C#语言的基本知识和面向对象的基本理论和思想。第 912 章:通过实例项目中数据结构的设计、系统结构的设计,以及源码内容的介绍,让读者全面深入地了解 C#语言。第 1314 章:重点介绍文件操作和图形的处理。第 1516 章:介绍.NET 环境下数据库的使用。第 1718 章:作为进阶部分,介绍了网络编程和多线程技术。除以上两个特点外,本书主要以项目方式来指导教学,促进学生的动手能力。本书所有的程序都在 Microsoft.Net Framework SDK 2.0 环境下调试运行通过。本书由王乾坤担任主编,王香菊、赵震奇、华艳、胡晓敏、黄丹丹担任副主编,全书由王 乾坤统稿,高振栋主审
8、。无锡市高等师范学校的肖敏老师和范大昭老师在成书过程中给予了多方面的指导和帮助。此外,无锡高等师范学校领导及创意与软件设计系领导对本书的编写工作给予了有力的支持。在此,编者向所有对本书编辑工作给予支持和帮助的人表示衷心的感谢。本书为教师配有电子教案,希望利用此电子教案,可以减轻教师负担,提高教学质量。由于创作时间仓促,加之编者水平有限,书中难免有不足之处,欢迎广大读者朋友批评指正,以便编者在今后的工作中不断改进。编 者 目 录 第 1 章 Visual Studio 2005 概述.1 1.1 C#基础知识.1 1.1.1 C#简介.1 1.1.2 .NET Framework 平台体系结构.
9、1 1.1.3 面向对象的程序设计方法.1 1.2 Visual Studio 2005 的新特性.2 1.3 安装 Visual Studio 2005.3 1.4 IDE 介绍.3 1.4.1 开始页面.3 1.4.2 解决方案资源管理器.4 1.4.3 菜单栏.5 1.4.4 工具栏.6 1.4.5 工具箱.6 1.4.6 代码编辑器.7 1.4.7 对象浏览器.8 1.4.8“属性”面板.8 1.4.9“命令”窗口.9 1.4.10“即时”窗口.9 1.4.11“任务列表”窗口.9 1.5 使用命名空间.9 1.6 Main 方法.10 1.7 使用帮助.11 1.8 项目实践.11
10、1.9 复习与提示.12 1.10 上机实验.12 第 2 章 变量、操作符和表达式.13 2.1 语句.13 2.2 程序代码的注释.13 2.3 使用标识符.13 2.4 变量和常量.14 2.4.1 变量.14 2.4.2 常量.15 C#入门与提高 VI 2.5 数据类型.15 2.5.1 值类型和引用类型的区别.15 2.5.2 基本数据类型.15 2.5.3 引用类型.16 2.6 运算符与表达式类型.18 2.6.1 运算符的分类.18 2.6.2 运算符的优先级.19 2.7 项目实践.20 2.8 复习与提示.21 2.9 习题与上机实验.21 习题.21 上机实验.22 实
11、验 1 求矩形的周长和面积.22 实验 2 判断某年是否为闰年.23 第 3 章 方法.24 3.1 声明方法.24 3.1.1 声明方法的语法格式.24 3.1.2 return 语句.24 3.2 调用方法.25 3.2.1 ref 关键字.25 3.2.2 创建 out 参数.25 3.3 运用作用域.26 3.4 方法的重载.26 3.5 项目实践.27 3.6 复习与提示.28 3.7 习题与上机实验.28 习题.28 上机实验.29 实验 1 给三个整数排序并求其和及平均值.29 实验 2 求 n!的值.30 第 4 章 结构化程序设计.31 4.1 顺序结构程序设计.31 4.2
12、 输入和输出.32 4.3 选择结构程序设计.32 4.4 循环结构程序设计.33 4.5 转移语句.34 4.6 项目实践.34 4.7 复习与提示.37 4.8 习题.37 目 录 VII 第 5 章 枚举和结构.39 5.1 枚举.39 5.1.1 定义枚举.39 5.1.2 使用枚举.40 5.2 结构.40 5.2.1 定义结构.40 5.2.2 使用结构.41 5.3 项目实践.41 5.4 复习与提示.43 5.5 习题与上机实验.43 习题.43 上机实验.44 实验 求矩形的周长和面积.44 第 6 章 数组与集合.45 6.1 数组.45 6.2 集合.48 6.3 复习与
13、提示.51 6.4 习题.51 第 7 章 面向对象编程.52 7.1 类和对象.52 7.1.1 类的定义.52 7.1.2 声明和使用对象.53 7.2 访问控制.53 7.3 属性.53 7.3.1 定义属性.53 7.3.2 使用属性.54 7.4 方法.55 7.5 构造函数.55 7.5.1 声明构造函数.55 7.5.2 重载构造函数.56 7.6 析构函数.56 7.7 静态成员.57 7.8 Visual Studio.NET 中的 OOP 工具.57 7.9 常用类操作和数据处理.58 7.10 项目实践.60 7.11 复习与提示.62 7.12 习题.62 C#入门与提
14、高 VIII 第 8 章 面向对象编程进阶.65 8.1 封装、继承和多态.65 8.1.1 封装.65 8.1.2 继承.65 8.1.3 多态性.67 8.2 接口.68 8.3 项目实践.69 8.4 复习与提示.74 8.5 习题与上机实验.74 习题.74 上机实验.76 实验 求三角形的面积.76 第 9 章 窗体.77 9.1 创建窗体.77 9.1.1 使用新建项目模板创建窗体.77 9.1.2 使用添加项目模板创建窗体.78 9.2 设置窗体属性.78 9.3 窗体的常用事件.79 9.4 窗体的常用方法.79 9.5 项目实践.80 9.6 复习与提示.81 9.7 习题与
15、上机实验.81 习题.81 上机实验.81 实验 设计有两个窗体的应用程序.81 第 10 章 控件.82 10.1 Windows 窗体界面设计.82 10.1.1 在窗体中添加控件.82 10.1.2 修改控件属性.83 10.1.3 鼠标事件与键盘事件.83 10.2 常用文本编辑控件.84 10.2.1 标签控件.84 10.2.2 文本框控件.85 10.3 按钮类控件.85 10.3.1 按钮控件.85 10.3.2 单选按钮.86 10.3.3 复选框控件.86 10.4 组合框控件.86 10.4.1 列表框控件与复选列表框.87 目 录 IX 10.4.2 组合框控件.88
16、10.5 滚动类控件.88 10.5.1 水平滚动条控件与垂直滚动条控件.88 10.5.2 进度条控件.89 10.6 列表视图控件和树视图控件.89 10.6.1 列表视图控件.89 10.6.2 树视图控件.91 10.7 图片框控件和图像列表控件.92 10.7.1 图片框控件.92 10.7.2 图像列表控件.92 10.8 定时器控件.93 10.9 项目实践.94 10.10 复习与提示.106 10.11 习题与上机实验.106 习题.106 上机实验.107 实验 1 设计一个能进行加减乘除运算的应用程序.107 实验 2 设计一个收集个人信息的应用程序.107 实验 3 设计一个能进行专业管理的应用程序.108 第 11 章 使用菜单和对话框.109 11.1 菜单.109 11.1.1 菜单控件与快捷菜单控件.109 11.1.2 工具栏控件和状态栏控件.111 11.2 设计 MDI 窗体.114 11.2.1 MDI 主窗体和子窗体.114 11.2.2 MDI 窗体的操作.115 11.3 通用对话框控件.116 11.3.1 文件对话框控件.116 11.