一、编写第一个C#程序——Hello World
1. 启动Microsoft Visual Studio 2010。
2. 点击“文件”菜单,选择“新建”项,在弹出的子菜单中选择“项目”命令。如下图所示:
3. 弹出“新建项目”对话框。如下图所示:
4. 在“最近的模板”下面点击“Visual C#”项,在中间的“模板”窗口中选择“控制台应用程序”项,在底部“名称”文本框中输入项目名称“HelloWorld”,点击“浏览”按钮,选择项目保存的位置“F:\VStudio2010\”。
5. 点击“确定”按钮,弹出下面的“HelloWorld”窗口:
6. 在
static void Main(string[] args)
{下面添加如下的代码(以“//”开头的是注释):
// 第一个C#程序Hello World -
// Console类位于System命名空间,表示控制台应用程序的标准输入流、输出流和错误流
// Console.WriteLine方法将指定的数据(后跟当前行终止符)写入标准输出流
// Console.ReadLine方法使程序暂停下来,直到按下回车键才会继续运行
Console.WriteLine("Hello World!");
Console.ReadLine();
7. 添加好代码的窗口如下图所示:
窗口中Program.cs文件的完整代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// 第一个C#程序Hello World -
// Console类位于System命名空间内,表示控制台应用程序的标准输入流、输出流
// 和错误流
// Console.WriteLine方法将指定的数据(后跟当前行终止符)写入标准输出流
// Console.ReadLine方法使程序暂停下来,直到按下回车键才会继续运行
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}
注释可以省略!
8. 选择“文件”菜单,点击“全部保存”命令,或者按下Ctrl+Shift+S快捷键,保存所有文件。
9. 选择“调试”菜单,点击“启动调试”命令,或者按下F5键,运行程序。
10. 运行结果如下:
11. 按下回车键(Enter),结束程序的运行。
至此,第一个C#程序——Hello World编写成功!
二、代码分析
C#语言的程序结构包括程序、命名空间、类型、成员和程序集。
?程序:C#程序包含一个或多个源文件。每一个C#程序由一个或多个类组成。所有的C#程序都必须封装在某个类中。
?命名空间:程序中声明的类型、类型中包含的成员都能够被组织到命名空间中。
?类型:类和接口是类型的例子。
?成员:字段、方法、属性和事件是成员的例子。
?程序集:程序集的文件扩展名一般是.exe(应用程序)或者.dll(类库)。当C#程序被编译时,它们会被打包到程序集中。
1. 导入命名空间
using System; // 命名空间
using System.Collections.Generic; // 子命名空间
using System.Linq; // 子命名空间
using System.Text; // 子命名空间
上述代码使用using指令导入命名空间,以便使用类型而不用再指定命名空间。编译器会在using指令指定的命名空间中查找没有在当前命名空间中定义,但是在代码中引用的类。
就是说,类必须位于命名空间中。要么它在导入的命名空间中;要么它在当前的命名空间中定义。
在Program.cs文件中使用using的原因是下面要使用一个库类System.Console。using System指令允许把这个类简写为Console。几乎所有的C#程序都使用System命名空间中的类,所以所有的代码文件都包含有using System;语句。
2. 声明命名空间
namespace HelloWorld
{
}
使用namespace关键字声明了一个命名空间范围。其后花括号中的所有代码都被认为是在这个命名空间中。
3. 命名空间的总结
命名空间有两种,一种是系统命名空间,一种是用户自定义命名空间。
一个源程序文件中可以包含多个命名空间;同一命名空间可以在多个源程序文件中定义。命名空间可以嵌套。同一命名空间中不允许定义重名的类型(类或者方法等)。
同名的两个类如果在不同的命名空间中,相互之间是不会混淆的。
1)命名空间的引用:
using 命名空间名称;一般写在源文件的最前面。
2)命名空间的声明:
namespace 命名空间名称
{
}
3)在程序中访问其它命名空间中的方法:
<Namespace>[.<Subnamespace>].类型例如:
System.Console.WriteLine("edu.南方网景");在这里,C#用点“.”操作符表示了语句的从属关系。
?System:命名空间
?Console:类
?WriteLine:方法
4. 声明类
class Program
{
}
使用class关键字声明一个类,类的名称为Program。因为该类位于HelloWorld命名空间中,所以该类的完整名称应该是HelloWorld.Program。
类的声明包括class关键字,后面是类名和一对花括号。与类相关的所有代码都应放在这对花括号中。
5. 声明Main方法
static void Main(string[] args)
{
// 应用程序功能代码实现位置
}声明类的Main方法:
?static:返回值的类型。
?void:返回值。
?Main:方法名称。
?string[] args:“Main”方法的参数。这是一个字符串数组。
“Main”方法是每一个C#应用程序的入口,C#要求每个程序必须且只能有一个“Main”方法,“Main”方法必须放在任意一个类中。对于被调用的“Main”方法来说,它所在的类不需要被实例化。
如果有多个“Main”方法,编译器就会返回一个错误!
“Main”方法的声明与结构如下:
方法一:不带参数,返回void
static void Main()
{
// ...
}
方法二:不带参数,返回int
static int Main()
{
// ...
return 0;
}
方法三:带参数,返回void
static void Main(string[] args)
{
// ...
}
方法四:带参数,返回int
static int Main(string[] args)
{
// ...
return 0;
}
6. 语句
Console.WriteLine("Hello World!");
Console.ReadLine();上面的代码调用了System.Console类的WriteLine()方法和ReadLine()方法。
语句就是C#应用程序中执行操作的指令。C#中的语句必须用分号“;”结束。可以在一行中书写多条语句,也可以将一条语句书写在多行上。
7. 花括号语法
在C#中,花括号“{”和“}”是一种范围标志,是组织代码的一种方式,用于标识应用程序中逻辑上有紧密联系的一段代码的开始与结束。
花括号可以嵌套,以表示应用程序中的不同层次。
8. C#注释
C#注释分为两种:单行注释和多行注释。
1)单行注释
用两个正斜线来表示“//”:
// 右边的文字都是注释,直到一行结束。在“//”的后面不能使用反斜杠“\”。
2)多行注释
以“/*”开始,以“*/”结束:
/* 这是
多行
注释
......
*/多行注释不能嵌套,即在分割符“/*”和“*/”之间不能再有分割符。
3)文档注释
在Visual Studio的开发工具中,目前只有C#编译器能够将注释转换成XML文件。方法是使用“///”符号。只要加上这个注释符号和代表XML元素的标记,就可以将注释转换成XML文件。所以文档注释又可以称为XML注释。
比如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorld
{
/// <summary>
/// 生成XML注释文件范例
/// </summary>
class Program
{
/// <summary>
/// Program类,打印Hello World!
/// </summary>
/// <param name="args">命令行参数</param>
static void Main(string[] args)
{
// Console类位于System命名空间内,表示控制台应用程序的标准输入流、输出流
// 和错误流
// Console.WriteLine方法将指定的数据(后跟当前行终止符)写入标准输出流
// Console.ReadLine方法使程序暂停下来,直到按下回车键才会继续运行
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}注意:定义的XML元素一定要遵守XML的格式。如果编译成功,我们就可以找到HelloWorld.XML文件。
附:在Visual Studio 2010中设置生成XML注释文件的步骤:
以项目HelloWorld为例,点击“项目”菜单,选择“HelloWorld 属性”命令。如下图所示:
选择“HelloWorld 属性”命令
打开“HelloWorld”窗口。如下图所示:
“HelloWorld”窗口
在左边点击“生成”项,在右边选择“XML文档文件”项即可。XML文件名会自动填写,当然也可以自行修改。