Microsoft公司新推出的C#语言具有诸多新的特性,它舍弃了C和C++中很多使用复杂、容易出现编程错误的特性和功能,以崭新的姿态呈现在世人面前。不久的将来,C#会成为每一位资深程序员首选的编程语言。\r\n 本书分为3个部分。入门部分介绍了C#语言的新特性以及C#语言的开发工具;语法部分展示了C#语言的各个细节,每一章介绍一个主题;提高部分讲解了Microsoft.NET平台中常用的类和服务。\r\n 本书体系结构清晰,解释说明详尽,开发实例丰富。本书附赠一张光盘,其中包括书中所有实例的源代码。\r\n 本书适用于对面向对象程序语言有所了解的读者,同时可作为计算机爱好者系统学习C#语言的教材。\r\n\r\n
第1章 C#语言概述 \r\n\r\n1.1 C#语言简介 \r\n1.2 C#语言的特点 \r\n1.2.1 简单(Simplicity) \r\n1.2.2 现代(Modernity) \r\n1.2.3 面向对象(Object-orientation) \r\n1.2.4 类型安全(Type-safety) \r\n1.2.5 版本可控(Versionable) \r\n1.2.6 兼容(Compatibility) \r\n1.2.7 灵活(Flexibility) \r\n1.3 C#和C、C++的比较 \r\n1.3.1 定义全局变量 \r\n1.3.2 指针(Pointer) \r\n1.3.3 内存管理 \r\n1.3.4 数据类型的支持 \r\n1.3.5 类型转换 \r\n1.3.6 头文件 \r\n1.3.7 预处理 \r\n\r\n第2章 开发工具 \r\n\r\n2.1 SDK的安装 \r\n2.1.1 安装准备工作 \r\n2.1.2 开始安装 \r\n2.2 开发工具的使用 \r\n2.2.1 Hello World程序 \r\n2.2.2 编译动态连接库 \r\n2.2.3 使用动态连接库 \r\n\r\n第3章 数据类型 \r\n\r\n3.1 数值类型 \r\n3.1.1 bool类型\r\n3.1.2 char类型 \r\n3.1.3 byte类型 \r\n3.1.4 sbyte类型 \r\n3.1.5 short类型 \r\n3.1.6 ushort类型 \r\n3.1.7 int类型 \r\n3.1.8 uint类型 \r\n3.1.9 long类型 \r\n3.1.10 ulong类型 \r\n3.1.11 float类型 \r\n3.1.12 double类型 \r\n3.1.13 decimal类型 \r\n3.1.14 enum类型 \r\n3.1.15 struct类型 \r\n3.2 装箱和拆箱 \r\n3.2.1 装箱 \r\n3.2.2 拆箱\r\n3.3 引用类型 \r\n3.3.1 class类型 \r\n3.3.2 delegate类型 \r\n3.3.3 interface类型 \r\n3.3.4 object类型 \r\n3.3.5 string类型 \r\n3.4 类型参考表 \r\n3.4.1 内建类型表 \r\n3.4.2 整数类型表 \r\n3.4.3 浮点类型表 \r\n3.4.4 缺省值表 \r\n3.4.5 数值类型表 \r\n3.4.6 隐式数字转换表 \r\n3.4.7 显式数字转换表 \r\n\r\n第4章 修饰符 \r\n\r\n4.1 访问修饰符 \r\n4.1.1 访问属性级别 \r\n4.1.2 访问属性范围 \r\n4.1.3 使用访问属性的限制 \r\n4.1.4 internal修饰符 \r\n4.1.5 private修饰符 \r\n4.1.6 protected修饰符 \r\n4.1.7 public修饰符 \r\n4.2 abstract修饰符 \r\n4.2.1 修饰符描述 \r\n4.2.2 示例 \r\n4.3 const修饰符 \r\n4.3.1 修饰符描述 \r\n4.3.2 示例 \r\n4.4 event修饰符 \r\n4.4.1 修饰符描述 \r\n4.4.2 示例 \r\n4.5 extern修饰符 \r\n4.5.1 修饰符描述 \r\n4.5.2 示例 \r\n4.6 override修饰符 \r\n4.6.1 修饰符描述 \r\n4.6.2 示例 \r\n4.7 readonly修饰符 \r\n4.7.1 修饰符描述 \r\n4.7.2 示例 \r\n4.8 sealed修饰符 \r\n4.8.1 修饰符描述 \r\n4.8.2 示例 \r\n4.9 static修饰符 \r\n4.9.1 修饰符描述 \r\n4.9.2 示例 \r\n4.10 virtual修饰符 \r\n4.10.1 修饰符描述 \r\n4.10.2 示例 \r\n\r\n第5章 语句 \r\n\r\n5.1 选择语句 \r\n5.1.1 if-else语句 \r\n5.1.2 switch-case语句 \r\n5.2 循环语句 \r\n5.2.1 do-while语句 \r\n5.2.2 for语句 \r\n5.2.3 foreach-in语句 \r\n5.2.4 while语句 \r\n5.3 跳转语句 \r\n5.3.1 break语句 \r\n5.3.2 continue语句 \r\n5.3.3 goto语句 \r\n5.3.4 return语句 \r\n5.4 异常处理语句 \r\n5.4.1 throw语句 \r\n5.4.2 try-catch语句 \r\n5.4.3 try-finally语句 \r\n5.4.4 try-catch-finally语句 \r\n5.5 检查和非检查 \r\n5.5.1 checked语句 \r\n5.5.2 unchecked语句 \r\n5.6 非保护和固定 \r\n5.6.1 unsafe语句 \r\n5.6.2 fixed语句 \r\n5.7 锁定语句 \r\n5.7.1 语法规则 \r\n5.7.2 注解 \r\n5.7.3 示例1 \r\n5.7.4 示例2 \r\n\r\n第6章 方法参数 \r\n\r\n6.1 params关键词 \r\n6.2 ref关键词 \r\n6.3 out关键词 \r\n\r\n第7章 名字空间 \r\n\r\n7.1 namespace关键词 \r\n7.1.1 语法规则 \r\n7.1.2 注解 \r\n7.1.3 示例 \r\n7.2 using关键词 \r\n7.2.1 语法规则 \r\n7.2.2 注解 \r\n7.2.3 示例1 \r\n7.2.4 示例2 \r\n\r\n第8章 操作符关键词 \r\n\r\n8.1 as关键词 \r\n8.1.1 语法规则 \r\n8.1.2 注解 \r\n8.1.3 示例 \r\n8.2 is关键词 \r\n8.2.1 语法规则 \r\n8.2.2 注解 \r\n8.2.3 示例 \r\n8.3 new操作符 \r\n8.3.1 语法规则 \r\n8.3.2 注解 \r\n8.3.3 示例\r\n8.4 new修饰符 \r\n8.4.1 语法规则 \r\n8.4.2 示例1 \r\n8.4.3 示例2 \r\n8.5 sizeof关键词 \r\n8.5.1 语法规则 \r\n8.5.2 注解 \r\n8.5.3 示例 \r\n8.6 typeof关键词 \r\n8.6.1 语法规则 \r\n8.6.2 注解 \r\n8.6.3 示例1 \r\n8.6.4 示例2 \r\n8.7 true关键词 \r\n8.7.1 注解 \r\n8.7.2 示例 \r\n8.8 false关键词 \r\n8.8.1 注解 \r\n8.8.2 示例 \r\n8.9 stackalloc关键词 \r\n8.9.1 语法规则 \r\n8.9.2 注解 \r\n8.9.3 示例 \r\n\r\n第9章 转换关键词 \r\n\r\n9.1 explicit关键词 \r\n9.1.1 注解 \r\n9.1.2 示例 \r\n9.2 implicit关键词 \r\n9.2.1 注解 \r\n9.2.2 示例 \r\n9.3 operator关键词 \r\n9.3.1 语法规则 \r\n9.3.2 注解 \r\n9.3.3 示例 \r\n\r\n第10章 访问关键词 \r\n\r\n10.1 base关键词 \r\n10.1.1 注解 \r\n10.1.2 示例1 \r\n10.1.3 示例2 \r\n10.2 this关键词 \r\n10.2.1 注解 \r\n10.2.2 示例 \r\n\r\n第11章 操作符 \r\n\r\n11.1 操作符分类 \r\n11.2 算术溢出 \r\n11.3 操作符详解 \r\n11.3.1 可重载操作符 \r\n11.3.2 []操作符 \r\n11.3.3 ()操作符 \r\n11.3.4 .操作符 \r\n11.3.5 +操作符 \r\n11.3.6 ?操作符 \r\n11.3.7 *操作符 \r\n11.3.8 /操作符 \r\n11.3.9 %操作符 \r\n11.3.10 &操作符 \r\n11.3.11 |操作符 \r\n11.3.12 ^操作符 \r\n11.3.13 !操作符 \r\n11.3.14 ~操作符 \r\n11.3.15 =操作符 \r\n11.3.16 操作符 \r\n11.3.17 操作符 \r\n11.3.18 ?:操作符 \r\n11.3.19 ++操作符 \r\n11.3.20 ??操作符 \r\n11.3.21 &&操作符 \r\n11.3.22 ||操作符 \r\n11.3.23 操作符 \r\n11.3.24 操作符 \r\n11.3.25 ==操作符 \r\n11.3.26 !=操作符 \r\n11.3.27 =操作符 \r\n11.3.28 =操作符 \r\n11.3.29 +=操作符 \r\n11.3.30 ?=操作符 \r\n11.3.31 *=操作符 \r\n11.3.32 /=操作符 \r\n11.3.33 %=操作符 \r\n11.3.34 &=操作符 \r\n11.3.35 |=操作符 \r\n11.3.36 ^=操作符 \r\n11.3.37 =操作符 \r\n11.3.38 =操作符 \r\n11.3.39 - 操作符 \r\n11.4 操作符的重载\r\n11.4.1 复数类 \r\n11.4.2 三值逻辑类型 \r\n\r\n第12章 特性 \r\n\r\n12.1 特性概述 \r\n12.1.1 使用特性 \r\n12.1.2 全局特性 \r\n12.1.3 创建定制特性 \r\n12.1.4 获取特性信息 \r\n12.2 AttributeUsage特性 \r\n12.2.1 语法规则 \r\n12.2.2 注解 \r\n12.3 Conditional特性 \r\n12.3.1 语法规则 \r\n12.3.2 注解 \r\n12.3.3 示例 \r\n12.4 Obsolete特性 \r\n12.4.1 语法规则 \r\n12.4.2 注解 \r\n12.4.3 示例 \r\n12.5 应用实例 \r\n12.5.1 声明特性类 \r\n12.5.2 使用特性类 \r\n12.5.3 综合示例 \r\n\r\n第13章 预处理指令 \r\n\r\n13.1 #if预处理指令 \r\n13.1.1 语法规则 \r\n13.1.2 注解 \r\n13.1.3 示例 \r\n13.2 #else预处理指令 \r\n13.2.1 语法规则 \r\n13.2.2 注解 \r\n13.2.3 示例 \r\n13.3 #elif预处理指令 \r\n13.3.1 语法规则 \r\n13.3.2 注解 \r\n13.3.3 示例 \r\n13.4 #endif预处理指令 \r\n13.4.1 语法规则 \r\n13.4.2 注解 \r\n13.4.3 示例 \r\n13.5 #define预处理指令 \r\n13.5.1 语法规则 \r\n13.5.2 注解 \r\n13.5.3 示例 \r\n13.6 #undef预处理指令 \r\n13.6.1 语法规则 \r\n13.6.2 注解 \r\n13.6.3 示例 \r\n13.7 #warning预处理指令 \r\n13.7.1 语法规则 \r\n13.7.2 注解 242\r\n13.7.3 示例 242\r\n13.8 #error预处理指令 \r\n13.8.1 语法规则 \r\n13.8.2 注解 \r\n13.8.3 示例 \r\n13.9 #line预处理指令 \r\n13.9.1 语法规则 \r\n13.9.2 注解 \r\n13.9.3 示例 \r\n13.10 #region预处理指令 \r\n13.10.1 语法规则 \r\n13.10.2 注解 \r\n13.10.3 示例 \r\n13.11 #endregion预处理指令 \r\n13.11.1 语法规则 \r\n13.11.2 示例 \r\n\r\n第14章 数组 \r\n\r\n14.1 一维数组 \r\n14.1.1 数组初始化 \r\n14.1.2 把数组作为参数传递 \r\n14.1.3 示例1 \r\n14.1.4 示例2 \r\n14.2 多维数组 \r\n14.2.1 数组初始化 \r\n14.2.2 把数组作为参数传递 \r\n14.2.3 示例 \r\n14.3 使用ref和out传递数组 \r\n14.3.1 示例1 \r\n14.3.2 示例2 \r\n\r\n第15章 Main方法 \r\n\r\n15.1 返回值 \r\n15.1.1 示例 \r\n15.1.2 执行示例 \r\n15.2 命令行参数 \r\n15.2.1 示例 \r\n15.2.2 执行示例 \r\n\r\n第16章 属性 \r\n\r\n16.1 属性的声明 \r\n16.1.1 语法规则 \r\n16.1.2 注解 \r\n16.1.3 示例 \r\n16.2 访问器 \r\n16.2.1 语法规则 \r\n16.2.2 注解 \r\n16.2.3 示例1 \r\n16.2.4 示例2 \r\n16.3 接口属性 \r\n16.3.1 语法规则 \r\n16.3.2 注解 \r\n16.3.3 示例 \r\n16.4 应用实例 \r\n16.4.1 实例1 \r\n16.4.2 实例2 \r\n\r\n第17章 索引 \r\n\r\n17.1 索引的声明 \r\n17.1.1 语法规则 \r\n17.1.2 注解 \r\n17.1.3 示例 \r\n17.2 属性和索引的比较 \r\n17.3 接口索引 \r\n17.3.1 语法规则 \r\n17.3.2 注解 \r\n17.3.3 示例 \r\n17.4 应用实例 \r\n17.4.1 示例1 \r\n17.4.2 示例2 \r\n\r\n第18章 XML文档 \r\n\r\n18.1 文档注释标记 \r\n18.1.1 c 标记 \r\n18.1.2 code 标记 \r\n18.1.3 example 标记 \r\n18.1.4 exception 标记 \r\n18.1.5 list 标记 \r\n18.1.6 para 标记 \r\n18.1.7 param 标记 \r\n18.1.8 paramref 标记 \r\n18.1.9 permission 标记 \r\n18.1.10 remarks 标记 \r\n18.1.11 returns 标记 \r\n18.1.12 see 标记 \r\n18.1.13 seealso 标记 \r\n18.1.14 summary 标记 \r\n18.1.15 value 标记 \r\n18.2 处理XML文件 \r\n18.3 应用实例 \r\n\r\n第19章 时间和计时器 \r\n\r\n19.1 显示日期和时间 \r\n19.2 时间段\r\n19.3 计时器\r\n19.4 日程 \r\n\r\n第20章 文件操作 \r\n\r\n20.1 查询文件信息 \r\n20.2 读取文本文件 \r\n20.3 写入文本文件 \r\n20.4 读取二进制文件 \r\n20.5 写入二进制文件 \r\n20.6 列出文件夹中的文件 \r\n20.7 拷贝和删除 \r\n\r\n第21章 线程和进程 \r\n\r\n21.1 线程 \r\n21.1.1 控制线程的方法 \r\n21.1.2 多线程设计 \r\n21.1.3 多线程同步 \r\n21.2 进程 \r\n21.2.1 启动、停止进程 \r\n21.2.2 获取进程信息 \r\n\r\n第22章 GUI编程基础 \r\n\r\n22.1 Hello, Windows Forms!\r\n22.2 Windows Forms编程模式 \r\n22.2.1 窗体 \r\n22.2.2 控件 \r\n22.2.3 事件 \r\n22.3 菜单设计 \r\n22.3.1 给窗体添加主菜单 \r\n22.3.2 创建上下文菜单 \r\n22.4 重画窗口 \r\n22.5 定制控件 \r\n22.5.1 绘制控件 \r\n22.5.2 添加属性 \r\n22.5.3 添加事件 \r\n22.5.4 综合代码 \r\n22.5.5 使用控件 \r\n\r\n附录 Visual Studio.NET 7.0的安装及其与C#的关系 \r\n\r\n\r\n\r\n
在介绍C#(读作CSharp)之前,先介绍一个人,AndersHejlsberg。他是C#语言的首席设计师,并领衔设计了.NET Framework体系结构。中国的程序员可能对这个名字不是非常熟悉,但是他做过的工作是无人不晓的。他曾是著名的Borland公司的第一代程序员,是TurboPascal的创始人,以及Delphi产品线的首席设计师。1996年Anders加盟Microsoft公司,领导了Visual J++和WFC(Windows Foundmion Classes)的开发。因为他的贡献突出,所以在1999年被授予“杰出工程师”(Distinguished Engineer)的殊荣。C#作为一个新语言,基于对Anders Heilsberg的了解,更增加了我们对C删信任。
Microsoft公司在职业开发人员技术大会上正式发布了C#语言,掀开了高级语言的新篇章。C#是提高生产性能的程序设计语言。开发者的目的是为了能够以更少的源代码完成更多的事情。因为在C#中,可以灵活应用在C或C++中已经熟练了的技巧,从而可以削减开发成本并缩短开发时间。
C#是一种以C和C++为基础的语言,它适用于Microsoft公司公布的基于.NET平台的XML基础应用开发业务。利用C#可以开发任何古典风格的Windows程序。不仅如此,除了硬件驱动程序,不管是控制程序、图形程序、服务程序,还是普通组件,甚至是Web页面,都可以用C研发出来。
本书结构
本书大致可分为入门、语法和提高3个部分。
● 入门
第1章和第2章属于入门部分。第1章介绍了C#语言的新特性及其与其他程序设计语言特别是C和C++的比较;第2章介绍了C#语言的开发工具。根据本书的特点,重点介绍了Microsoft.NET Framework SDK中编译工具的使用,这是阅读本书的基础。
● 语法
第3章到第18章属于语法部分。这是本书的主体部分,也是本书的核心部分。这一部分内容展示了C#语言的各个细节,每一章是一个主题。无论是C#语言的初学者还是已经有一定基础的读者,都会发现这部分内容在进行学习和开发过程中是必需的。本书简单扼要的用实例对C#语言的运用进行了示范,这也许是本书最大的特点。程序设计语言的掌握水平往往是在大量实例的练习中不断提高的。
● 提高
第19章到第22章属于提高部分。这几章着重介绍了Microsoft.NET平台中常用的类和服务,包括时间和计时器的运用、文件操作、多线程以及Windows界面设计。虽然这部分的内容很基础,只是Cd#开发应用程序的极小的一部分,但通过学习,读者会体会到在Microsoft.NET平台上使用C#语言将会有很大的收获。