第二章-C#与Visual-Studio开发环境学习资料
- 格式:doc
- 大小:216.00 KB
- 文档页数:8
第二章 C#与Visual Studio开发环境本章将从C#语言和.NET技术的概貌入手,依次介绍Visual Studio集成开发环境和C#程序的组成结构。
2.1 C#语言与.NET技术简介C语言曾经是最为流行的一种结构化程序设计语言,C++则在C的基础上增加了对面向对象的支持。
但严格说来,C++并不是完全面向对象的程序设计语言;为了和C语言相兼容,C++保留了许多低级特性,因此具有较大的灵活性和较强的底层控制能力。
不过,这种灵活性和控制能力也是一把“双刃剑”,它导致了C++学习困难、程序过于复杂、安全性难以保证等问题。
正如低级语言被高级语言逐步取代一样,程序设计语言的发展就是不断增强抽象描述能力、屏蔽底层实现细节、提高软件生产效率的过程。
随着面向对象的优越性被广泛接受,人们需要更加符合现代软件开发要求的面向对象程序设计语言,C#因此应运而生。
它汲取了C++、Java、Delphi等多种语言的精华,具有语法简洁、类型安全和完全面向对象等特点,自2000年一经推出便取得了巨大的成功。
C#语言简单易学,它将内存管理、设备驱动、控制优化等底层操作交给.NET Framework 实现,这样开发人员就能够把注意力集中在问题模型和程序逻辑上,而不必去关心过多的底层细节。
概括地说,.NET是一个建立在开放网络协议和标准之上的计算平台,.NET Framework则是平台上的基础编程框架,它由以下两个部分组成。
●公共语言运行时(Common Language Runtime,CLR)。
它提供了.NET应用程序运行时环境,负责管理代码的执行、提供元数据类型支持和各种系统服务。
●.NET类库。
它定义了功能丰富的类型集合,能够为应用程序提供基本类型、通用数据结构、Windows和Web界面设计、数据库访问、XML Web Service、异常处理等各种组件服务。
.NET Framework支持C#、、Visual Basic、Java、Visual C++.NET等多种语言,这些高级语言代码会被编译为通用中间语言(Intermediate Language,IL)代码,该语言类似于低级语言,但其代码与具体的硬件平台无关;之后CLR再针对特定的平台将IL程序翻译为机器指令,加载所需要的资源并管理程序的执行。
这也使得.NET平台上不同语言能够方便进行通信,解决了困扰人们已久的多语言集成的难题。
随着C#语言的流行和用户的增加,C#也得到了不断的改进和完善。
2005年C#升级到了2.0版本,其最大的特点是增加了对泛型程序设计(Generic Programming)的支持。
2008年C#正式升级为3.0版本,其中增加了Lambda表达式、隐式类型、扩展方法等特性,从而支持一种全新的面向对象的数据访问模型,即LINQ(Language Integrated Query)模型。
.NET Framework也随之进行了相应的版本升级,为.NET应用开发提供了更有效的支持。
2.2 Visual Studio开发环境2.2.1 集成开发环境概述Visual Studio集成开发环境将代码编辑器、编译器、调试器、图形界面设计器等工具和服务集成在一个环境中,能够有效提高软件开发的效率。
Visual 是最流行的.NET应用程序集成开发环境,开发的每一个程序集对应一个项目(Project),而多个相关的项目又可以组成一个解决方案(Solution)。
启动Visual 开发环境,可以看到如图2-1所示的主界面,主要包括以下几个部分。
●菜单栏:位于标题栏的下方,其中包含了用于开发、维护、编译、运行和调试程序以及配置开发环境的各项命令。
●工具栏:位于菜单栏的下方,提供了常用命令的快捷方式。
●代码编辑区:位于开发环境中央,是编辑代码和设计程序的主要区域。
●输出窗口:位于代码编辑区的下方,用于输出当前操作的结果。
●解决方案资源管理器:位于开发环境的右侧,它通过树形视图对当前解决方案进行管理,解决方案是树的根节点,解决方案中的每一个项目都是根节点的子节点,项目节点下则列出了该项目中使用的各种文件、引用和资源。
●服务器资源管理器:位于开发环境的左侧,用于快速访问本地或网络上的各项服务器资源。
●属性窗口:位于解决方案资源管理器的下方,用于查看或编辑当前所选元素的具体信息。
●状态栏:位于开发环境的底部,用于对光标位置、编辑方式等当前状态给出提示。
图2-1 Visual Studio集成开发环境图2-1给出的是Visual Studio各窗口的默认位置,用户可以根据需要来移动、调整、打开或关闭,或是通过“视图”菜单来控制它们的显示;其中大部分窗口还可以通过选项卡的方式切换,如代码编辑区可一次打开多个源文件,这就能最大程度地利用有限的屏幕空间。
其他常用的窗口还有管理程序中的类及其关系的类视图、作为控件集合的工具箱等。
Visual Studio解决方案将被保存为.sln文件,而单个C#程序项目则会被保存为.csproj文件。
接下来介绍使用Visual Studio创建4中基本的C#应用程序的步骤。
2.2.2 创建控制台应用程序如果要在Visual Studio开发环境中创建程序P2_1,可以通过菜单命令“文件”|“新建”|“项目”打开如图2-2所示的对话框,在左侧的“项目类型”视图中选择“Visual C#”,在右侧的“模板”视图中选择“控制台应用程序”模板,输入项目名称(P2_1),必要时可以指定项目存放的位置及所属的解决方案,之后单击“确定”按钮,此时Visual Studio就会自动完成下面的工作。
(1)将.NET类库中的基本程序集添加到项目引用中。
(2)生成C#源文件program.cs,其中包含对常用命名空间的引用,以及程序命名空间、主程序类和Main方法的基本框架。
(3)生成项目配置文件,在其中保存项目的基本信息。
图2-2 “新建项目”对话框之后开发人员就可以编辑源文件中的程序代码,必要时可以增加源文件、程序集引用和其他资源,并通过菜单命令编译和运行程序。
此外,使用快捷键F6可以直接编译程序,使用快捷键F5可以直接运行程序,使用快捷键Ctrl+F5可以不调试而直接运行程序。
2.2.3 创建和使用动态链接库程序如果要创建动态链接库程序,可以在图2-2所示的“新建项目”对话框中选择“类库”模板,之后同样可以编写代码来定义各种类型及其成员。
不过此类项目只能编译成动态链接库文件,而不能直接运行。
如果要创建Windows应用程序,可在图2-2所示的“新建项目”对话框中选择“Windows 应用程序”模板。
这时Visual Studio会为项目生成两个C#源程序文件,一个是Form1.cs;在解决方案资源管理器中双击该文件即可以打开窗体设计视图,如图2-3所示,此时在Visual Studio工具箱中可以看到一系列可用的Windows窗体控件,其中“公用控件”选项卡下面包含了按钮、文本框、单选框等常用的Windows控件,通过鼠标拖放操作就可以把这些控件添加到窗体上。
图2-3 工具箱与窗体设计视图另一个是文件是program.cs,其中定义了包含Main方法的主程序类program,其代码如下。
using System;using System.Collections.Generic;using System.Windows.Forms;namespace P2_3{static class Program{static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}}}代码中的Application类表示当前的Windows应用程序,其Run方法用于在程序启动时打开主窗体Form1,它和Form类都在System.Windows.Forms命名空间下定义。
在Visual Studio中还可以方便地创建应用程序。
通过菜单命令“文件”|“新建”|“网站”打开如图2-4所示的对话框,在“模板”列表中选择“网站”选项,在“语言”下拉列表框中选择“Visual C#”选项,必要时指定项目的存放位置,然后单击“确定”按钮,Visual Studio就会创建一个基本的网站框架,包括一个网站配置文件web.config 和一个默认网页Default.aspx。
选中当前项目,通过菜单命令“网站”|“添加新项”,在打开的对话框中选择“Web窗体”,就可以向项目中加入新的网页。
图2-4 “新建网站”对话框网站项目的每一个网页都包含两个文件:一个设计文件(后缀为.aspx)和一个C#源代码文件(后缀为.aspx.cs)。
打开一个网页设计文件,此时在Visual Studio工具箱中可以看到一系列可用的Web窗体控件,如按钮、文本框、单选框等,通过鼠标的拖放操作可以把这些控件添加到网页中。
2.3 C#程序的基本结构下面先看一个非常简单的C#程序,它用于在屏幕上输出一行文字“欢迎光临!”。
//程序P2_1using System;namespace P2_1{public class program{public static void Main(){Console.WriteLine(“欢迎光临!”);}}}可在任何一种文本编辑器(如记事本或Microsoft Word)中输入上述代码,将其保存为文件“P2_1.cs”(后缀.cs表示C#源程序文件),而后打开命令行窗口,使用C#编译器csc.exe 编译程序(必要时指定源文件所在的目录)就能生成可执行文件P2_1.exe。
程序的编译和运行结果如图2-1所示。
图2-5 编译和执行C#程序P2_1接下来分析一下该程序的基本结构。
2.3.1 注释程序P2_1的第一行以两个反斜杠“//”开头,表示程序的注释,在它同行右边的内容会被编译器忽略,不对程序的运行产生任何影响。
如果要写多行注释,可以每一行都以“//”开头,或是将所有的注释内容都放在一对标记“/*”和“*/”之间,例如:/*程序P2_1该程序的功能是在屏幕上输出一行文字“欢迎光临!”*/但多行注释标签不可以嵌套。
例如,对于下面的代码,编译器会将第一行开头的“/*”到第二行末尾的“*/”之间的内容视为注释,将第三行的“*/”视为非法代码。
/*程序P2_1/*该程序的功能是在屏幕上输出一行文字“欢迎光临!”*/*/注释可以出现在程序代码的任何位置,主要用于对代码的功能和用途进行说明,从而提高程序的可读性,便于理解和修改程序。