日期:2013-03-14  浏览次数:20556 次

前面两章花了很多的时间都在讲述一些理论的东西,大家是不是觉得很无趣(是!说真的我的头也大了,我也是强挺着读下去的。)。那么这回大家终于开以松一口气,从这一章开始,我们将正式踏进C#的世界了。由于这章的内容比较多,也比较重要,所以分几节来学习。Ready,Go!


这一章主要讲解了C#的语法及词法结构。包括C#程序的基本结构、数据类型、常量、变量、操作运算符、流控制,注释,C#的编译方面等内容。我看了一下他的许多方面与C++和JAVA有相似之处,我想有以上语言基础的朋友学起来会更快一些。

下面以一个简单的C#例程开始:

/*C#的第一个例子*/
//这是一个把信息写到屏幕上的控制台应用程序
using System;
class MyFirstCSharpClass
{
public static int Main()
{
Console.WriteLine("This isn`t at all like Java!");//输出一个字符串
return 0;
}
}

(1)首先程序的第一二行,我想一看就知道了吧,是注释。注释有什么用呢,我想大家比我都清楚。

C#的注释主要有这两种,这两种注释的不同点就在于:“/* aaa */”这种注释可以写在多行上,而“//”则只能写在一行上。其中要强调的一点就是C#不能嵌套来使用注释。

比如:/*1/*2*/3*/。很显然这种注释是错误的,因为C#的编译器是根据“/*”与“*/”成对的方式来区分注释的。如上例当判断到2以后编译器就会认为注释已经结束,接下来的应该为C#程序,而实际却不是。

但是C#可以用这种方式来使用注释:
Console.WriteLine(/*Please*/"This is a example!"); 虽然C#不提倡这样做,但语法上是没有错误的。那究竟这样的注释有什么用呢。我举个例子来说。

比如:在程序的调试中有这样的方法DoSomething(Width,Height);现在我要为Height输入一个值来进行测试。这时候我们完全没必要再写上一次,而可以简单的修改变:DoSomething(Width,/*Height*/100);

(2)第三行的作用是通知编译器到System中查找不在当前名称空间中(或者没有指定名称空间)的类。
名称空间他有点类似于JAVA,.NET中类都被组织在名称空间中。关于名称空间后续章节会有介绍。

在这里面要注意的一点就是C#是区分大小写的语言。所以像这行的System就不能写成system。
还有就是C#是以;来作为语句的结束的。

(3)第四行开始说明了一个类MyFirstCSharpClass。有一点需要注意的是,C#的所有代码都是被组织在类中的,这点和JAVA很相似。


(4)这一行为一个把{,需要说明的是C#是用“{}”来组织语句的。

(5)这一行声明一个没有参数的Main()方法。要注意这里是的Main的每个字符为大写。Main()是C#可执行文件的入口点,这一点和C++以级JAVA都是很相似的。

其中的public与static都是修饰符。public表示该方法可以在任何地方访问。static表示方法不能在类的特定实例运行。具体的使用方法将在后续章节介绍。int 说明方法的返回值为整数,后面的文中有 return 0; 就是与之对应。关于方法的返回值C#要示要么不能返回值(void),要么返回int。

(6)调用Console类的WriteLine()方法来输出一行字符串。C#并没有专门的输入输出关键字,而完全依赖于.NET基类。而对于C#来说所有的工作都是依赖于.NET类的。关于Console后面会有更详细的介绍。

C#的数据类型
下面介绍C#的数据类型。
(待续)