第一篇 Visual C# 2005入门篇
第1章 C#简介
随着面向对象编程语言的快速发展,越来越多的面向对象语言出现在程序员面前。其中C#就是该类语言的一个典型代表。作为面向对象语言的代表,它是一种简捷、类型安全的面向对象语言。通过C#,可以创建Web应用程序、Windows应用程序、控制台应用程序、Web服务应用、数据库应用程序以及许多其他类型的程序。
1.1 .NET Framework 2.0与C#
C#语言是运行于.NET框架结构之上的一种高级语言,随着.NET框架的发展,现如今已经由原来发布的.NET Framework1.0版本升级到了.NET Framework 2.0版本。随着版本的提高,框架的功能也比以前有了更多的改变。所以在学习C#语言之前,读者有必要先了解一下.NET Framework 2.0与C#的关系。
说明:.NET Framework框架由原先最早的1.0发展到1.1到现在的2.0版本。C#语言只是.NET框架中的一种语言,还包括VB.NET、C++.NET、J++.NET等语言。
1.1.1 .NET Framework 2.0介绍
.NET Framework 2.0主要由两个重要的组件组成:公共语言运行库CLR和.NET类库。公共语言运行库是.NET框架的基础。可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且强制实施严格的类型安全,以及可提高安全性和可靠性的其他形式的代码准确性。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NET框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面应用程序,也包括基于ASP.NET所提供的应用程序,如Web窗体和XML Web Services。.NET Framework的框架结构图如图1-1所示。
图1-1 .NET Framework的框架结构图
1.1.2 公共语言运行库
公共语言运行库是.NET框架的核心组成部分,作为程序执行环境,公共语言运行库起着将.NET的各种语言最终转换成执行代码的重要角色。公共语言运行库的框架结构图如图1-2所示。
图1-2 公共语言运行库的框架结构图
在框架语言代码进行编译的过程中,编译器首先将源代码编译成中间语言IL,然后公共语言运行库再将这些中间语言编译成平台专用的代码。而以运行库为目标运行的代码称为托管代码,所以编译器执行的第一步编译就是把C#等.NET代码编译成托管代码,之所以使用托管代码,是因为这些代码有着如跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务等特点。
有了公共语言运行库,就可以很容易地设计出能够跨语言交互的组件和应用程序。也就是说,用不同语言编写的对象可以互相通信,并且可以紧密集成。公共语言运行库之所以能提供这种多语言的支持,就是因为中间代码的存在。在.NET框架中,除了C#.NET语言之外,公共语言运行库还支持如VB.NET、Visual C++.NET、Visual J#.NET等语言,有了公共语言运行库,这些不同语言编写的代码就可以互相调用,从而实现资源的共享。
1.1.3 C# 2.0介绍
同.NET Framework版本一样,C#的版本也是由C# 1.1升级到C# 2.0。C#语言的语法介绍请读者参见本书的C#语言基础章节。C# 2.0除了包括了大部分之前版本的语法特性之外,还增加了以下几个新的特性:泛型、匿名方法、迭代器、局部类和可空类型。
● 泛型:泛型是C# 2.0版和公共语言运行库中的一个新功能。泛型将类型参数的概念引入.NET Framework,类型参数可以在客户端实例化该类或方法的时候进行声明。
● 匿名方法:在C# 2.0之前的版本中,声明委托的唯一方法是使用命名方法。C# 2.0引入了匿名方法。要将代码块传递为委托参数,创建匿名方法则是唯一的方法。
● 迭代器:迭代器是C# 2.0中的新功能。迭代器是方法、get访问器或运算符,它能够在类或结构中支持foreach迭代,而不必实现整个IEnumerable接口。只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成IEnumerable或IEnumerable接口的Current、MoveNext和Dispose方法。
● 局部类:当通过多个部分来定义类型时,将使用新增的类型修饰符partial。局部类在.NET 2.0的aspx.cs定义中使用得非常多,在aspx页面文件建立之后,如果选择了在后台生成隐藏的代码文件,则Visual Studio 2005会自动在后台的隐藏代码文件中生成一个局部类,用来处理页面的逻辑。
● 可空类型:可空类型是System.Nullable结构的实例。可空类型可以表示其基础值类型正常范围内的值,再加上一个null值。在处理数据库和其他包含可能未赋值的元素的数据类型时,将null赋值给数值类型或布尔型的功能特别有用。
说明:本书的代码全部在.NET 2.0版本基础上实现。读者在进行实例调试的时候,需要首先安装.NET 2.0的开发工具包。
1.2 Visual Studio 2005概述
使用C#语言进行程序开发的时候,可以直接使用.NET框架提供的命令行编译工具进行程序的编译生成,但此过程过于烦琐,而且可视性比较差,所以建议在C#程序开发中,使用微软提供的开发集成环境Visual Studio 2005。Visual Studio 2005提供了高级代码编辑器、方便的用户界面设计器、集成调试器和许多其他工具,以在C# 2.0和.NET Framework的基础上加快应用程序的开发。
1.2.1 .NET开发环境Visual Studio
Visual Studio提供了统一的.NET开发平台,它可以创建多种类型的项目,同时与.NET Framework自动集成,方便开发人员的集成编译和项目的建立。使用Visual Studio可以创建以下几种类型的应用程序:
● Web应用:Visual Studio提供了一个全新的网页设计器,称为Visual Web Developer,其中包含了许多用于创建和编辑ASP.NET网页和HTML页的增强功能。通过此功能,Visual Studio可以直接创建网站类型的应用程序。
● Windows窗体应用:Windows窗体用于在.NET Framework上创建Microsoft Windows应用程序。
● XML Web服务应用:XML Web服务是可以通过HTTP使用XML接收请求和数据的应用程序。在Visual Studio中,可以使用Visual Basic、Visual C#、JScript ATL Server快速创建和包含XML Web Services。
● 智能设备应用程序:Visual Studio集成环境包括用于目标设备(如PDA和Smartphone)的工具。通过创建该类型的应用程序,可以实现在移动的智能客户端应用的开发。
● Visual Studio Tools for Office应用:使用Visual Basic和Visual C#扩展了Word 2003文档和Excel 2003工作簿,可创建解决方案。Visual Studio Tools for Office包括新的Visual Studio项目,用于创建Word文档、Word模板、Excel工作簿和Excel模板的后台代码。通过该应用类型的创建,可以实现基于Office产品的应用开发。
1.2.2 Visual Studio 2005的安装配置
安装Visual Studio 2005过程比较简单,只要操作系统符合Visual Studio 2005的安装条件即可进行逐步安装。
(1)安装时在Visual Studio 2005的安装光盘中,找到Setup可执行文件,双击该文件之后,程序弹出安装程序向导页面,如图1-3所示。
图1-3 Visual Studio 2005安装向导页面
(2)单击【下一步】按钮之后,页面弹出【选项页】页面,如图1-4所示。
图1-4 Visual Studio 2005安装选项页
在【选项页】页面中,可以配置Visual Studio 2005本次安装的组件包,比如语言工具、SDK等信息。同时可以单击【浏览】按钮,选择Visual Studio 2005的安装路径。设置完毕之后,单击【安装】按钮(如果是更改Visual Studio 2005的配置页面则是【更新】按钮),系统开始自动安装或者更新,直到安装结束,整个过程不再需要用户的操作。
1.2.3 MSDN简介
MSDN全称为微软开发网络,它是一个完整的基于微软技术的参考大全,可以毫不夸张地说,MSDN是对开发人员进行开发指导的最好老师。如果需要使用MSDN,首先需要在计算机中进行安装。
(1)在MSDN的安装程序中,找到setup的可执行文件,双击进行安装。安装向导页面如图1-5所示。
图1-5 MSDN安装向导页面
(2)单击【下一步】按钮,页面显示了【许可协议】,选择【我接受许可协议中的条款】选项,如图1-6所示。
图1-6 MSDN许可协议页面
(3)单击【下一步】按钮,在【客户信息】页面中输入用户名和单位信息,如图1-7所示。
图1-7 MSDN客户信息页面
(4)单击【下一步】按钮,在【安装类型】页面中,选择MSDN的安装类型,【完全】选项表示将所有的技术文档安装到计算机,【自定义】和【最小】选项表示需要按照用户自定义的情况来选择安装,建议选择完全安装,如图1-8所示。
图1-8 MSDN安装类型页面
(5)单击【下一步】按钮,在【目标文件夹】页面中,可以通过单击【浏览】按钮来更换默认的安装路径,如图1-9所示。
图1-9 MSDN目标文件夹页面
(6)单击【下一步】按钮,在确认信息页面,检查安装信息的正确性,如果没有错误,则直接单击【安装】按钮,进行安装,如图1-10所示。
图1-10 MSDN安装过程
(7)安装完毕之后,可以单击【开始】→【程序】→【Microsoft Developer Network】→【MSDN Library for Visual Studio 2005】命令,启动MSDN程序,启动之后的页面如图1-11所示。
图1-11 MSDN启动页面
在MSDN启动页面中,开发人员可以使用其不同的功能进行技术文章的检索。读者可以通过【目录】、【索引】和【搜索】等功能,完成技术文章的查找。
1.3 开发第一个C#程序
介绍了C#的基本知识和开发工具Visual Studio 2005之后,读者一定想快速通过一个程序来了解如何实现一个应用程序的编写。本节通过一个控制台的项目实例,向读者介绍如何编写一个简单的C#控制台程序。
注意:控制台项目是Visual Studio 2005开发工具提供的一种项目类型,它是基于DOS控制台实现的一种应用,后续章节还分别涉及Windows程序、Web网站程序、Web服务等项目类型。
1.3.1 理解Main()
本节实例为控制台程序类型,控制台程序的程序入口点位于Main函数中,即所有的代码都是通过该函数作为入口,再将其运行。所以需要在Main函数中编写实现程序的代码。
【本节示例参考:\Source Code\C01\Hello_World】
进入代码开发之前,首先需要启动Visual Studio 2005。单击【开始】→【程序】→【Microsoft Visual Studio 2005】→【Microsoft Visual Studio 2005】命令,启动Visual Studio 2005。启动之后的页面如图1-12所示。
图1-12 Visual Studio 2005启动页面
控制台应用程序在Visual Studio 2005工具中属于【项目】类型,如果需要创建该类型的应用程序,需要按如下步骤操作。
Step 1.新建项目
在菜单栏中单击【文件】→【新建】→【项目】命令。
Step 2.选择项目类型
新建项目的过程如下步骤介绍:
(1)在弹出的【新建项目】对话框的【项目类型】区域中,选择【Windows】选项,然后在窗口右侧的【模板】区域中,选择【控制台应用程序】选项。
(2)在对话框下侧的【名称】文本框中,填写项目的名称,本实例为Hello_World。在【位置】文本框中,单击【浏览】按钮,选择需要保存该项目的路径。
(3)选中【创建解决方案的目录】复选框。所有项目信息填写完毕之后,单击【确定】按钮,对话框如图1-13所示。
图1-13 创建控制台应用程序
Step 3.查看解决方案结构
创建完毕之后,Visual Studio 2005会自动在【解决方案资源管理器】中,显示整个解决方案和项目的文件。在【解决方案资源管理器】的文件结构中,可以看到已经创建好的一个Program.cs文件。在该文件中,可以编写控制台应用程序的主函数代码。【解决方案资源管理器】的窗口如图1-14所示。
图1-14 控制台应用程序的解决方案资源管理器文件列表
Step 4.编写Program程序代码
双击Program.cs文件,打开该代码文件,将下面代码编写到该文件中。
控制台程序代码:Program.cs
using System; using System.Collections.Generic; using System.Text; namespace Hello_World { class Program { static void Main(string[] args) { System.Console.WriteLine("hello world!"); //将hello world!字符输出到控制台 System.Console.ReadLine();//读取回车键之后,关闭控制台应用程序 } } }
说明:本书实例中,在控制台项目的Main函数最后一行语句中,都会加入System. Console.ReadLine,该代码的目的是让控制台程序运行到此位置时,等待用户的输入。如果不添加此代码,则程序运行结束后会自动关闭运行窗口,导致读者来不及看到程序的运行结果。
1.3.2 编译执行程序
第1.3.1节中,检查代码编写正确之后,在Visual Studio 2005应用程序中,按【F5】键,开发工具会自动对程序进行编译,如果编译成功,开发工具会自动执行该程序的控制台,执行结果如图1-15所示。
图1-15 控制台应用程序的编译执行结果
如果在程序的编译过程中出现了语法错误,Visual Studio 2005会自动提示错误的原因。上一实例代码中,如果在程序中间增加一个逗号,然后进行编译,Visual Studio 2005会提示如图1-16的错误。
图1-16 控制台应用程序的编译错误提示窗口
单击【否】按钮,Visual Studio 2005会在窗口显示具体的错误提示信息,如图1-17所示。
图1-17 错误提示信息
技巧:在编译的时候,如果遇到了错误,可以通过设置程序断点的方式进行调试。方法是在对应代码行数的左侧单击,即可出现一个红色的圆圈,表示该行代码设置了断点,当程序在运行状态下,可以自动在设置断点的代码行进行暂停,然后通过按【F10】或者【F11】键进行单步跟踪或者逐句跟踪。
1.4 小结
本章主要介绍了C#的相关知识,包括.NET框架、公共语言运行库和C# 2.0的相关内容。随后,对C#的开发工具Visual Studio 2005和开发手册MSDN进行了基本介绍。最后,本章通过一个简单的控制台程序作为实例,介绍了如何从创建项目到最终完成编译执行程序的整个过程。
通过本章的学习,读者可以简单了解C#的相关知识,以及如何通过Visual Studio 2005完成C#程序开发的简单过程。