第1篇C#语言基础
万丈高楼平地起,打好基础不费力!本篇是学习C#语言的基础,学好本篇可以为学习C#奠定根基。通过对本篇的学习,您将了解C#的基础知识、C#应用程序开发和运行平台.NET Framework、集成开发环境Visual Studio 2013、异常处理与程序调试,以及面向对象的重要特征和基本概念等内容。下面将带您步入C#的开发世界!
第1章 Hello C#—认识C#
本章视频教学录像:42分钟
要想练就真功夫,必须苦练基本功。本章是学习C#语言的第1章,是读者掌握C#这门语言的入门课。通过对本章的学习,读者将初步了解C#语言的发展和新特性、C#语法知识、C#应用程序的运行平台.NET Framework和开发工具Visual Studio 2013,以及如何使用帮助。
本章要点(已掌握的在方框中打钩)
□ .NET框架
□ C# 5.0简介
□ 集成开发环境Visual Studio 2013
1.1 C#程序的运行平台——.NET框架
本节视频教学录像:11分钟
C#是.NET平台(.NET Framework)上的编程语言,用C#编写的程序必须在.NET Framework上运行。学习C#,就必须理解.NET的运行机制,了解.NET框架。
1.1.1 .NET框架介绍
.NET Framework(框架)简称.NET,是微软公司为开发应用程序创建的一个富有革命性的新平台。.NET框架定义了.NET应用程序的开发和运行环境,包括可在.NET应用程序中使用的类库,它类似于Java的虚拟机。开发人员可以在此平台或环境下开发各种应用程序,就像火车必须在铁轨上才能行驶一样,用C#编写的程序必须在.NET Framework上运行,所以首先要在计算机中安装.NET Framework。
.NET Framework是支持生成和运行下一代应用程序与XML Web Services的内部Windows组件。.NET Framework旨在实现下列目标。
⑴ 提供一个一致的面向对象的编程环境,无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行。
⑵ 提供一个将软件部署和版本控制冲突最小化的代码执行环境。
⑶ 提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
⑷ 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
⑸ 提供一个开发不同类型的应用程序(如基于Windows的应用程序和基于Web的应用程序)的一致方法。
⑹ 使用工业标准(XML)进行数据通信,确保基于 .NET Framework的代码可与其他代码集成。
.NET Framework有两个主要组件:公共语言运行库(CLR)和 .NET Framework类库。公共语言运行库是 .NET Framework的基础,它提供内存管理、线程管理和远程处理等核心服务,并强制实施严格的类型安全检查来提高安全性和可靠性。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码则称为非托管代码。.NET Framework的另一个主要组件是类库,它是一个综合性的、面向对象的、可重用的类型集合,供开发者开发各种类型的应用程序。
1.1.2 .NET Framework 4.5的新增功能
.NET Framework 4.5在旧版本的基础上进行了很多方面的改进,并增加了很多新的技术和功能。下面简要介绍一下.NET Framework 4.5的部分新功能和改进。
1. 工具
在 .NET Framework 4.5中,利用资源文件生成器 (Resgen.exe),您可以从嵌入在 .NET Framework程序集中的 .resources文件中创建用于Windows应用商店应用的 .resw文件。利用托管配置优化(Mpgo.exe) 工具,可以通过优化本机映像程序集来改进应用程序的启动时间、内存使用率(工作集大小)和吞吐量。该命令行工具会针对本机映像应用程序程序集生成配置文件数据。
2. 并行计算
.NET Framework 4.5提供了针对并行计算的多项新功能和改进功能,其中包括改进的性能、增强的控件、对异步编程的增强支持、新的数据流库及对并行调试和性能分析的增强支持。
3. Web
ASP.NET 4.5和ASP.NET 4.5.1为Web窗体、WebSocket支持、异步处理程序、性能增强和许多其他功能添加了模型绑定。
4. 网络
.NET Framework 4.5提供了一个用于HTTP应用程序的新的编程接口,还包含针对用于接受WebSocket连接并与之交互(通过使用现有HttpListener和相关类)的新编程接口的支持。此外,还新增和改进了对以下几方面的支持:与RFC兼容的URI支持、对国际域名 (IDN) 分析的支持、对电子邮件地址国际化 (EAI) 的支持、改进对IPv6的支持、双重模式套接字支持。
5. Windows Presentation Foundation (WPF)
在.NET Framework 4.5中,WPF主要包含以下方面的更改和改进:利用新的Ribbon控件,可以实现承载快速访问工具栏、应用程序菜单和选项卡的功能区用户界面;支持同步和异步数据验证的新INotifyDataErrorInfo接口;针对静态属性的数据绑定、针对实现ICustomTypeProvider接口的自定义类型的数据绑定,以及从绑定表达式中检索数据绑定信息;在值发生更改时重新定位数据(实时数据整理);能够检查项目容器的数据上下文是否已断开连接;改进了对实现弱事件模式的支持,此外,事件现在可以接受标记扩展。
6. Windows Communication Foundation (WCF)
在.NET Framework 4.5中已添加以下功能,以便更轻松地编写和维护WCF应用程序:简化生成的配置文件;对协定优先开发的支持;能够更轻松地配置ASP.NET兼容模式;对在代码中配置服务的支持;二进制文件编码器压缩支持;对使用国际域名的WCF服务的支持等。
7. Windows Workflow Foundation (WF)
在.NET Framework 4.5中已将几项新功能添加到WF中,包括:首次作为 .NET Framework 4.0.1的一部分引入的状态机工作流;增强了工作流设计器功能;对C# 表达式的支持;协定优先工作流服务开发,为自动生成活动以匹配现有服务协定提供支持等。
1.1.3 C#程序的运行机制
为了实现多语言开发,.NET所支持语言编写的代码先编译成微软中间语言(Microsoft Intermediate Language,MSIL)代码,再由即时编译器(JIT)转换成机器代码,这种编译方式实现了代码托管,提高了程序的运行效率。C#程序编译运行的简单步骤是:C#程序编译为中间语言代码;C#编译器生成程序集(*.exe或*.DLL文件);CLR执行程序集,生成本地代码。如下图所示。
1.2 C# 语言简介
本节视频教学录像:6分钟
本节介绍C#语言的发展历史以及C# 5.0的新特性等内容。
1.2.1 C#的发展历史
C#是一种强大的、面向对象的程序开发语言,是微软公司专门用于.NET平台的编程语言,它用于快速地编写各种基于Microsoft .NET平台的应用程序。C#和Java都是C和C++家族中的成员,具有C和C++语言的特征。C#入门容易,不像C/C++那样难于学习。C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以更快地掌握C#。C#继承了C和C++语法的同时参考了Java的优点,是微软公司为了在Internet领域获取更多的利益并和Java相抗衡,重点推出的一种.NET平台的主流程序设计语言。
C#的发展历史如下。
1998年12月,微软公司提出.NET计划后,开始开发.NET平台上的面向对象程序的设计语言。
2000年2月,微软公司正式将这种语言命名为C#。
据说起名为C#,是因为开发小组的人很讨厌当时的搜索引擎,因此把大部分搜索引擎无法识别的“#”字符作为该语言名字的一部分;还有一种说法是因为音乐中“#”是升调记号,表达了微软公司希望C#在C的基础上更上一层楼的美好愿望。
2000年7月,微软公司发布了C#语言的第1个预览版。
2002年2月,微软公司发布了.NET开发平台Visual Studio.NET 2002和C#语言的第1个正式版本—— C# 1.0。
2003年4月,微软公司推出了Visual Studio .NET 2003,同时也发布了.NET Framework 1.1和C# 语言规范1.2(C# 1.2)。
2005年10月27日,Visual Studio .NET 2005、.NET Framework 2.0和C# 语言规范2.0(C# 2.0)正式发布,在新的版本中提供了更多的类库和使用功能。
2007年8月20日,继.NET Framework 3.0发布后,C# 语言规范3.0(C# 3.0)发布。
2007年11月19日,微软公司发布了Visual Studio .NET 2008和.NET Framework 3.5。
2010年4月12日,微软发布了Visual Studio 2010及.NET Framework 4.0。
2012年9月12日,微软在西雅图发布了Visual Studio 2012,其最大的新特性莫过于对Windows 8 Metro开发的支持。
2013年11月13日,微软发布了Visual Studio 2013。
1.2.2 C# 5.0的新特性
在当前的软件开发行业中,C#已经成为主流的程序设计语言,可以和Java语言平分天下。C#作为一种全新的编程语言,可以实现大多数程序员所需要的功能,包括开发Windows窗体应用程序、Windows服务程序、Web应用程序、Web服务程序、WPF应用程序、WPF浏览器应用程序等。
C# 5.0是对C# 4.0的改进,百分之百向后兼容,也就是说用C# 5.0开发的程序可以在C# 4.0环境下运行。C# 5.0增加了许多新特性,有5个有代表的新特性,如下所述。
⑴ 带参数的泛型构造函数。它的加入给一些设计增加了强大功能,泛型早在C# 2.0加入后就有着强大的应用,一般设计比较好的框架都会用到泛型,C# 5.0加入了带参数泛型构造函数,在原有基础上对C#泛型完善了很多。
⑵ 支持null类型运算。此功能特别是对有数据计算的这种null类型的支持,写代码方便了不少。虽然对于Nullable Types,在C# 2.0就加入进来了,但是不支持计算,例如,
01 Int x=null; 02 Int y=x+40;
那么y值是多少?不支持计算得到的是null,但在C# 5.0以后,40加一个null的整数,我们得到的结果是40。
⑶ case支持表达式。以前case里只能写一个具体的常量,而现在可以加表达式了,灵活多了。
⑷ 扩展属性。在C# 3.0里有扩展方法,C# 5.0里加入了扩展属性的概念,对照扩展方法,不难理解扩展属性的概念了。例如,
01 [Associate(string)] 02 public static int Zivsoft_ExtensionProperty{get;set;}
⑸ 异步处理。它如同C# 4.0加入dynamic概念一样,C# 5.0通过加入了async和await这两个关键字来简化异步编程。
C# 5.0的新特性为编程带来了更大的便利,有效地利用这些新特性可以编写出更加简洁的程序。
1.3 C#程序开发利器—集成开发环境Visual Studio 2013
本节视频教学录像:25分钟
微软公司推出集成的开发环境Visual Studio.NET(简称VS)用于快速开发.NET应用程序。随着.NET平台的逐步升级,VS的版本也在不断提升,目前较新的版本是12.0版本,即Visual Studio 2013(简称VS 2013),它在2013年11月13日23:00正式发布,它支持.NET框架4.5。Visual Studio 2013可以用来创建高性能的Windows应用程序、移动应用程序、网络应用程序、网络服务、智能设备应用程序和Office插件等。
1.3.1 Visual Studio 2013的安装
VS 2013使得开发人员编写程序更容易、更灵活。它提供了高级开发工具、调试功能、数据库功能和创新功能,用于在各种平台上快速开发应用程序。任何规模的组织都可以使用VS 2013快速创建更安全、更易于管理且更可靠的应用程序。
要想使用VS 2013,首先要在计算机上进行安装。如果有安装光盘,直接安装即可,也可以到微软公司的网站下载后安装(http://www.visualstudio.com/downloads/download-visual-studio-vs)。Visual Studio 2013安装文件所占的存储空间很大,大概有2.86GB,下载时间会比较长。下载下来的是光盘镜像ISO文件,需要安装虚拟光驱软件(如Daemon Tools等)。
技巧
VS 2013安装要求:支持Windows 8.1(x86和x64)、Windows 8(x86和x64)、Windows 7 SP1(x86和x64)、Windows Server 2012 R2 (x64)等操作系统;
硬件最低要求:1.6 GHz或更快的处理器、10 GB可用硬盘空间、1 GB RAM(如果在虚拟机上运行,则为1.5 GB)、5400 RPM硬盘、与DirectX 9 兼容的视频卡,其显示分辨率为1024 x 768 或更高。
提示
建议配置:2.2 GHz或速度更快的CPU、2048 MB或更大容量的RAM、1280×1024显示器、7200 RPM或更高转速的硬盘;
在Windows 7上安装硬件的最低要求为:2.4 GHz CPU、1024 MB RAM。
下面以专业版为例,介绍安装Visual Studio 2013的过程。
⑴ 将Visual Studio 2013安装盘放入光驱,将出现安装画面。
⑵ 勾选“我同意许可条款和隐私策略”选项,单击“下一步”按钮和“安装”按钮。
⑶ 等待安装完成,此过程可能会需要半小时。具体时间当然要根据你的电脑配置情况而定。
⑷ 安装成功后,单击“启动”按钮,出现登录界面,询问是否需要注册登录Visual Studio,不登录的话,选择“以后再说”进入下一步。
⑸ 选择开发环境,这里选择C#,颜色主题有三种选择,依自己喜好选择。
技巧
安装VS 2013时建议关闭杀毒软件,因为杀毒软件可能会阻止向计算机安装部分文件而导致安装失败。
1.3.2 Visual Studio 2013集成开发环境
Visual Studio 2013为开发人员提供了许多开发工具,可以显著地提高开发人员的工作效率。Visual Studio 2013集成开发环境 (IDE)由菜单栏、工具栏、编辑器,以及停靠或自动隐藏在左侧、右侧和底部的各种工具窗口组成。可用的工具窗口、菜单和工具栏根据所处理的项目或文件类型及随后执行的自定义配置,在IDE中的布局会有所不同。下面介绍Visual Studio 2013 IDE的各个组成部分。
1. 起始页
起始页上面有开始、最近、Visual Studio 2013新增功能和Microsoft平台新增功能介绍等选项。
在“开始”区域可以新建项目和打开已有的项目。“最近”区域包含了最近打开过的项目的链接。Visual Studio 2013和Microsoft平台新增功能选项的下面有相关的链接,单击链接就可以查看新增功能的介绍。产品视频和公告选项是微软为最新产品发布的视频介绍和微软有关Visual Studio最新动态的公告。
2. 菜单栏
菜单栏和Office Word等程序的菜单栏类似,位于标题栏的下方,如下图所示。
Visual Studio 2013的菜单栏由【文件】、【编辑】、【视图】、【调试】、【团队】、【工具】、【测试】、【体系结构】、【分析】、【窗口】和【帮助】多个菜单组成,每个菜单都有一组命令,选择这些命令就可以完成相应的功能。
3. 工具栏
菜单栏下方是工具栏,用户除了通过使用菜单栏进行操作外,一些常规的操作还可以通过工具栏进行,工具栏比菜单栏更方便、快捷。熟悉常用工具栏的使用能提高开发的效率。
提示
将鼠标指针移动到工具栏的按钮上停留一会儿,将显示出该按钮功能的提示。单击菜单栏上的【视图】菜单中的【工具栏】,将出现工具栏的级联菜单,单击所需的命令,此工具栏立刻就会出现在屏幕上,同时在其名称的前面会出现一个【√】。
4. 工具箱
工具箱中列出了许多常用控件,用于设计程序的界面。所谓控件就是窗体中相对独立的部分,例如,常见的一些命令按钮、标签、文本框等都属于控件。Visual Studio 2013提供的控件分别放在【所有Windows窗体】、【公共控件】、【容器】、【菜单和工具栏】、【数据】、【组件】、【打印】、【对话框】、【WPF互操作性】、【报表】和【常规】选项卡里面。对这些选项卡也可以重命名或者删除,还可以添加选项卡。在任意一个选项卡中单击鼠标右键,将会弹出相应的快捷菜单,从中选择【全部显示】命令,会显示出所有的工具箱选项卡。需要注意的是,项目类型不一样,工具箱的选项卡显示也会有所不同。
5. 解决方案资源管理器
项目是一个独立的编程单位,通常包括一个或几个程序文件,若干个相关项目组成一个解决方案。解决方案资源管理器(Solution Explorer)以树状结构显示整个解决方案中所包括的项目及每个项目的组成部分等信息。双击解决方案中的文件,就可以在编辑环境中显示这个文件并且可以编辑它。
解决方案资源管理器在系统中被保存为一个完整的文档,默认扩展名是.sln。一个解决方案可以包含多个项目,便于组织和管理项目,项目类型可以不同,如Windows应用项目、Web项目等。每个项目的文件扩展名是.csproj。双击.sln或.csproj文件都可以自动打开Visual Studio 2013,并打开解决方案及其中的项目。
6. 属性窗口
属性窗口用来显示项目、窗体、控件、数据源等所有可视资源的属性,如控件的大小、颜色及位置等,在属性窗口底部有所选属性的简单说明。通过属性窗口能可视化地修改控件的属性,不必编写代码。属性窗口顶部是一个下拉列表,单击它可显示所用控件的名称。这个下拉列表称为“组件选择框”,它显示的名字就是当前控件的名称,列表里的内容就是当前控件的属性。
7. 类视图
类视图按照树状结构列出了解决方案所包含项目中的每个类及类中包含的成员,以便于在大型项目中快速定位某个类。
8. 设计视图和代码视图
设计视图(也称窗体窗口)是用来设计程序界面的场所,可以从工具箱中拖放一些控件到设计视图中,然后根据设计需要进行控件的布局。
代码视图(也称代码窗口、编辑窗口)是输入程序代码的窗口。可通过多种方法打开代码视图:双击设计视图中的控件或窗体;选择【视图】菜单中的【代码】命令;在【解决方案资源管理器】中双击扩展名为.cs的文件。
9. 服务器资源管理器
服务器资源管理器用于开发人员对有权限操作的计算机上的资源进行访问和操作,可用来创建连接服务器对象,操纵服务器上的数据库。
10. 动态帮助窗口
在编写程序的过程中,系统会根据当前的工作设置动态帮助窗口的内容。动态帮助窗口给编程提供了很大的方便,程序员不必在遇到问题时按【F1】键,只需要看一看动态帮助窗口,选择合适的链接并单击,就可以找到需要的内容。要使用动态帮助,需要安装MSDN,否则动态帮助为空。
1.4 高手点拨
本节视频教学录像:2分钟
Visual Studio 2013、.NET Framework 4.5、C#三者之间是怎样的关系?
C#是众多编程语言中的一种,也就是说它是众多基于.NET Framework的编程语言中的一种。
.NET Framework 4.5是Microsoft开发各种语言程序的平台,其中包含丰富的类库。C#、VB.net等编程语言编写的程序就是在这个平台上运行的。
Visual Studio 2013是很多种语言开发的集成开发环境,程序开发者都是在这个环境下编写C#、C++等程序代码的。
我们在安装Visual Studio的过程中会附带安装.NET Framework,在这个过程中还可以选择把C#、C++等开发语言都安装上。
1.5 实战练习
思考题
1.使用Visual Studio能开发什么类型的项目?
2. C#语言有哪些优点?