这篇文章以一个简单的Hello world 程序讲解了C#程序的基本结构和相关知识,希望大家能喜欢。
Hello World,就像一个婴儿刚刚来到这个世界上,开启了他的人生旅途。下面将使用大部分程序设计的开门程序Hello World来简单交待一下C#程序的格式与基础知识。
using System; //引入System命名空间
namespace HelloWorld
{
public class HelloWorld
{
static void Main() /*这是主方法,程序启动时,从这里开始执行*/
{
Console.WriteLine("Hello World!");
Console.WriteLine("请输入你的大名:");
Console.WriteLine(Console.ReadLine()+ ",欢迎步入C#世界!");
}
}
}
在这里,蓝色字体部分是C#的保留字,即组成C#语法的重要部分。每个C#程序至少有一个类,并且每个C#程序有且只有一个主方法,即Main方法,这里的Main方法与Java中的main方法和C++中的main方法含义相同,只不过这里需要大写,在给C#程序命名的时候比较随意,只要给起一个有一定含义的名字即可,如这个程序可以命名为HelloWorld.cs,有可以命名为First.cs,不像Java那样要求必须与包含主方法的类名完全一样。从这里大家也可以看得出,C#程序文件的扩展名为.cs,即C sharp的缩写。
在上面的程序中,我们也注意到了,C#的每一个语句必须以分号(;)结尾。
程序的第一行中using的作用是引入命名空间,其作用有点类似于C或C++的include,或者Java语言中的import,那么命名空间又是什么呢?这里只简单地形容为包含相关类的类库,就像C或C++中的函数库,或Java语言中的包差不多。关于命名空间更详细的介绍,请参见日志中的命名空间一节。
第二行中的namespace是自己编写的这个程序的命名空间,在其他程序中,如果把这个命名空间引入的话,也可以使用这个程序或类HelloWorld中提供的属性及方法成员。
C#程序的内容或用一对{}来围定,在编写程序时,要注意括号的匹配问题,丢掉括号,程序将无法通过编译。比较好的做法是将一对括弧同时写出来,以免丢掉其中的一个。
static void是对主方法的修饰,static表示该方法是静态的,即在使用过程中不必声明该类的对象或实例,直接用类名来引用即可,这作为程序的主方法来说是非常有用的,因为主方法一般由操作系统来调用的,如果不是静态的,系统必须定义该类的实例后才能使用,这样做对系统来说是非常蹩脚的。在以后的介绍中,大家会了解到更多的关于static的介绍。void 说明该方法不返回任何值,我们也可以根据自己的需要向操作系统返回一定的值,如int型的等。有时,主方法中还带着参数,是为了在程序运行时,接收外界给与的运行参数而设定的。
在主方法体中,Console是控制台类,即键盘,鼠标,显示器这样的“控制台”程序,一般类似于早先的DOS环境。该类中提供了几个常用的输入输出方法。WriteLine()是向控制台(显示器)输出内容,是一个静态方法,在调用之前不需要实例化Console对象,其中的参数控制了输出字符串的格式和类型,输出完内容后换行,即光标移到下一行的开始位置。如果,该方法没有给出任何参数,就只是换行,不输出任何内容,在程序中,我们可以利用这种功能,输出几个换行。跟这个方法对应的另一个方法就是ReadLine(),也是一个静态方法,这个方法没有参数,就是从控制台(键盘)读取一个字符串,这个字符串以回车为标志,即回车后,将输入的内容送入输入流。除此之外,还有Write()方法,这个方法只向控制台输出内容,不换行,如果想换行的话,我们在字符串中需加入转义字符'/n',关于转义字符,在以后会有所介绍。Read()方法是从输入流中读取下个字符的ASCII码值,即它的返回类型是整型,如我们输入A,实际上是把代表A的ASCII码值65读到程序中,在使用时,我们需要进行强制转换,把它转换会字符。WriteLine()和Write()方法都具有十几个重载形式,而Read()和ReadLine()没有重载形式。
从上面的程序中,我们可以看出,C#中使用+号把两个字符串连接起来。
下面我再说一说C#的注释。C#中的注释有两种形式:第一种是行注释,即//,这种注释只对一行中//后面的内容有效;另外一种是/*注释内容*/,即多行注释,只要放在/*和*/之间的内容,不管是有几行,都是注释的内容。
C#程序可以使用CSC命令进行编译,也可以使用VS.NET集成环境进行编译和执行。
如果使用csc命令在命令行上编译代码,就应注意.NET命令行工具,包括csc,只有在设置了某些环境变量后才能使用。其形式如下:
csc First.cs
如果没有设置环境变量,有两种解决方法。第一种方法是在运行csc之前,在命令行上运行批处理文件%Microsoft Visual Studio 2005%/Common7/Tools/vcvars32.bat。其中%Microsoft Visual Studio 2005是安装Visual Studio 2005的文件夹。第二种方法(更简单)是使用Visual Studio 2003命令行代替通常的命令提示窗口。Visual Studio 2005命令提示在“开始”菜单—“程序”—Microsoft Visual Studio 2003-Microsoft Visual Studio Tools子菜单下。它只是一个命令提示窗口,打开时会自动运行vcvars32.bat。
编译代码,会生成一个可执行文件First.exe。在命令行或Windows Explorer上,象运行任何可执行文件那样运行该文件,得到如下结果:
First.exe (回车)
Hello World!
请输入你的大名:
Fu Jinlong (回车)
Fu Jinlong,欢迎步入C#世界!
如果,使用VS.NET集成开发环境,我们可以按下F5键,进行编译和运行,但程序执行完会自动退出,我么可以使用CTRL+F5的方法防止程序退出。执行结果如下图:
(以上为本人的理解,如有什么不对,请告知)。
新闻热点
疑难解答