1.4 第一个C#程序:Hello World
上面介绍了.NET Framework和C#的基本知识,本节带领读者实现一个最简单的应用:Hello World。
1.4.1 认识Visual Studio .NET开发环境
本书主要使用Visual Studio.NET(以下简称VS.NET)作为开发环境,首先认识一下这个IDE工具。
VS.NET是一个非常复杂、庞大的产品,但其秉承了微软开发环境的一贯风格,使用非常简单。在正确的安装配置之后,第一次启动VS.NET时,主窗口会出现一系列窗口及历史解决方案列表,如图1.6所示。
图1.6 VS 2010启动界面
下面介绍一下VS.NET最基本的一些功能。
(1)把鼠标指针放在隐藏的窗口上,便会自动弹出这些窗口。
(2)“工具箱”窗口显示常用的窗体控件,通过简单的拖曳操作,便可以快速开发图形化界面工程。
(3)“解决方案资源管理器”窗口显示当前解决方案的信息(解决方案即一个或多个工程及其配置的综合),窗口中可以查看解决方案中工程的各种视图,如其中的文件等。
(4)“属性”窗口显示工程内容更详细的信息,可以对工程中的单个控件或其他对象进行配置。例如,可以使用属性窗口改变Windows工程中一个按钮的外观、大小等。
(5)“任务列表”窗口和“输出”窗口显示编译工程时的信息及开发环境已经完成的任务。
此处,仅仅认识一下VS 2010,对于其较为详细的介绍,将在后续章节中结合示例给出。
1.4.2 第一个Windows Console控制台应用程序
.NET可以实现多种应用,包括控制台程序、Windows Form程序及Web应用。控制台程序Hello World的实现步骤如下。
(1)启动VS.NET。
(2)单击主窗口上的“新建项目”超链接,或者选择“文件”→“新建”→“项目”命令。
(3)弹出“新建项目”对话框,如图1.7所示。在左侧“项目类型”选项中选择“Visual C#项目”选项,在“模板”中选择“控制台应用程序”选项,在“名称”文本框中输入“HelloWorld_Console”,并通过单击“浏览”按钮选择工程所在的目录,单击“确定”按钮。
图1.7 新建项目对话框
(4)查看“解决方案资源管理器”窗口,如图1.8所示。在文件“Program.cs”上右击,选择“重命名”选项,将其改名为“HelloWorld.cs”。
图1.8 HelloW orld_Console的资源管理器窗口
(5)查看主窗口,里面有VS.NET自动生成的代码,如图1.9所示。
图1.9 自动生成的代码
添加如下代码:
Console.WriteLine("Hello World,我的第一个小程序!."); Console.ReadLine();
(6)运行程序。单击图1.10上面的绿三角运行按钮就可以了;或选择“调试”→“开始执行”命令,启动程序后,如图1.10和图1.11所示。
图1.10 直接单击运行按钮
图1.11 菜单运行
运行结果如图1.12所示。
图1.12 Hello World_Console运行结果
(7)查看工程文件。
“HelloWorld_Console”是VS.NET为本工程所建立的工程文件夹。进入后会发现包含许多文件,此处,需要了解以下文件。
● HelloWorld_Console.sln:解决方案文件,扩展名“sln”为solution的缩写,双击可以打开本工程。
● HelloWorld.cs:工程代码文件,扩展名“cs”为C Sharp的缩写,并非Counter-Strike。
● 在子目录“\bin\Debug”下可以发现可执行文件“HelloWorld_Console.exe”,双击可以执行。
(8)如果想关闭解决方案,可选择“文件”→“关闭解决方案”命令。
至此,第一个控制台应用就完成了。
1.4.3 第一个Windows Form窗体程序
上面介绍了控制台程序实现的Hello World,下面介绍如何在Windows图形化界面应用中实现。实现步骤如下。
(1)启动VS.NET。
(2)单击主窗口中的“新建项目”超链接,或者选择“文件”→“新建”→“项目”命令。
(3)弹出“新建项目”对话框。在左侧“项目类型”选项中选择“Visual C#项目”选项,在“模板”中选择“Windows应用程序”选项,在“名称”文本框中输入“HelloWorld_WinForm”,并通过单击“浏览”按钮选择工程目录,单击“确定”按钮,如图1.13所示。
图1.13 创建应用程序
(4)查看“解决方案资源管理器”窗口,如图1.14所示。在文件“Form1.cs”上右击,选择“重命名”选项,将其改名为“HelloWorld.cs”。
图1.14 Hello World_WinForm的资源管理器窗口
(5)查看主窗口,里面有一个自动生成的窗体From1,单击该窗体,然后单击“属性”窗口,如图1.15所示。修改Name属性为“frmHelloWorld”,修改Text属性为“Hello World”。
(6)单击主窗口左侧的“工具箱”窗口,出现一些Windows控件,如图1.16所示。
图1.15 窗体属性窗口
图1.16 工具箱控件窗口
(7)双击“Label”控件,或将其拖曳至主窗口的窗体中,并修改其属性。
● Name:lblDisplay
● Text:空
● BackColor:Window
(8)双击“Button”控件,或将其拖曳至主窗口的窗体中,并修改其属性。
● Name:btnShow
● Text:“显示”
最后效果如图1.17所示。
图1.17 添加Label和Button后的窗体
(9)双击“显示”按钮,进入代码窗口(通过主窗口上侧的标签可以在代码窗口和窗体窗口间进行切换),可以看到VS.NET已经自动生成了很多代码。
(10)进入代码窗口后,光标自动位于方法“btnShow_Click()”内部(即单击“显示”按钮会触发这个方法),在光标处添加如下代码:
this.lblDisplay.Text="Hello World, WinForm Application.";
(11)启动程序后,单击“显示”按钮,标签中就会出现结果,如图1.18所示。
图1.18 Hello World_WinForm运行结果
(12)查看工程文件,将会发现文件夹“HelloWorld_WinForm”。
至此,第一个Windows Form应用就完成了。
1.4.4 第一个ASP.NET程序
下面来看使用C#实现的Web应用,即ASP.NET程序。在开发Web应用之前,需要首先配置Internet信息服务(IIS)。
1.配置IIS
在IIS中建立一个虚拟目录sample,并将其指向“D:\示例代码”:
(1)依次打开“控制面板”→“管理工具”→“Internet服务管理器”选项。
(2)右击左侧窗口中的“默认网站”选项,在弹出的快捷菜单中选择“新建”→“虚拟目录”选项,如图1.19所示。
图1.19 新建虚拟目录
(3)启动“虚拟目录创建向导”后,在“别名”文本框中输入“sample”(读者可以另取),在“目录”文本框中输入“D:\示例代码”,“权限”使用默认设置。
(4)单击“完成”按钮即可。
2.创建Hello World, ASP.NET.
配置好IIS之后,便可以开发Web应用了,步骤如下。
(1)启动VS.NET。
(2)单击主窗口上的“新建项目”超链接,或者选择“文件”→“新建”→“网站”命令。
(3)弹出“新建网站”对话框,选择“ASP.NET网站”选项,在下侧“位置”下拉列表框中选择“HTTP”,然后输入http://localhost/sample/C01/HelloWorld_ASPNET,单击“确定”按钮,如图1.20所示。
图1.20 Hello World_ASPNET的创建窗口
(4)在文件“Default.aspx”上右击,选择“重命名”选项,将其改名为“HelloWorld.aspx”。
(5)查看主窗口,里面有一个自动生成的aspx页面,单击该页面,然后单击主窗口右侧的“属性”窗口,修改页面的title属性为“Hello World,ASPNET.”。
(6)单击主窗口左侧的“工具箱”隐藏窗口,默认出现一些Web控件。双击“Label”控件,或将其拖曳至主窗口的窗体中,并修改其属性。
● ID:lblDisplay。
● Text:空。
● BackColor:Silver。
(7)双击“Button”控件,或将其拖曳至主窗口的窗体中,并修改其属性。
● ID:btnShow。
● Text:“显示”。
(8)双击“显示”按钮,进入代码窗口(通过主窗口上侧的标签可以在代码窗口和窗体窗口间进行切换),可以看到VS.NET已经自动生成了很多代码。进入代码窗口后,光标自动位于方法“btnShow_Click ()”内部(即单击“显示”按钮会触发这个方法),在光标处添加如下代码:
this.lblDisplay.Text="Hello World, ASP.NET.";
(9)启动程序后,结果如图1.21所示,单击“显示”按钮,在标签中就会出现结果。
图1.21 Hello World_ASPNET运行结果
(10)查看工程文件,将会发现工程文件夹“HelloWorld_ASPNET”,显然,这个位置与IIS设置的虚拟目录有关。其中,.aspx为页面文件,.cs为代码文件。
至此,第一个ASP.NET Web应用就完成了。
1.4.5 源代码简短分析
前面实现了3个最简单的应用,下面来简单总结一下。在上面3个示例中,其实只写了三句代码。
(1)控制台程序。
Console.WriteLine("Hello World, Console Application.");
功能:基于.NET的Console类,使用其WriteLine()方法,在控制台输出一行字符串。
(2)Windows Form程序。
this.lblDisplay.Text="Hello World, WinForm Application.";
功能:在Windows窗体中单击“显示”按钮事件触发此行代码,改变标签的显示文本。
(3)ASP.NET程序。
this.lblDisplay.Text="Hello World, ASP.NET.";
功能:在浏览器上单击“显示”按钮事件触发此行代码,改变标签的显示文本。
可以看出,.NET为开发者隐藏了很多操作,自动生成了许多代码,提高了开发效率,并最大程度地减少了出错概率。