3.1 C#语言概述
C#是一种源于C和C++语言之上的、简单的、现代的、面向对象和类型安全的编程语言。其设计目标是要把Visual Basic高速开发应用程序的能力和C++本身的强大功能结合起来。C#作为一种优秀的编程语言,可以用来开发控制台应用程序、.NET Windows应用程序、ASP.NET应用程序以及Web服务等各种类型的应用程序。在实际应用中,可以使用像记事本那样的编辑器来编写代码,同样也可以使用开发工具如Visaul Studio 2012来开发C#代码。
C#语言具有以下一些主要的优点。
(1)语法简单
由于源于C和C++,因此这三者在语法风格上保持了基本一致。同时它又抛弃了C和C++中一些晦涩不清的表达。在默认情况下,C#的代码在.NET框架提供的可操作环境中运行,不允许直接操作内存。它的最大特色是没有C和C++的指针操作。另外,使用C#创建应用程序,不必记住复杂的基于不同处理器架构的隐含类型,包括各种类型的变化范围,这样大大地降低了C#语言的复杂性。
(2)完全的面向对象
C#语言具有面向对象语言所应有的一切特性,包括封装、继承和多态。同时,在C#类型系统中,每种类型都可以看作一个对象。任何值类型、引用类型和Object类型之间都可以进行相互的转换。
(3)消除了大量的程序错误
C#的现代化设计能够消除很多常见的C++编译错误。例如,C#的资源回收功能减轻了内存管理的负担,变量由环境自动初始化,变量是类型安全的等等。这样,使用C#语言编写和维护那些复杂的应用程序就变得很方便。
(4)与Web开发紧密结合
C#可以在.NET平台上轻松地构造Web应用程序的扩展框架。C#语言包含了内置的特性,使任何组件可以转换为XML网络服务,从而通过Internet被任何操作系统上运行的组件调用。更为重要的是,XML网络服务框架可以使处理现有的XML网络服务就像处理C#对象一样的简单。XML网络服务就像处理C#对象一样的简单。此外,为了提高性能,C#还允许将XML数据直接映射到Struct数据类型上。
3.1.1 第一个C#程序
为了使大家对C#编程语言有一个感性的认识,本节通过演示一个最基本的C#程序的创建过程,让读者知道究竟什么是C#程序。
1.编写C#源代码
可以选择在Visaul Studio 2012中编写应用程序,也可以在记事本中输入代码。为了让大家更深入地了解C#语言,这里采用记事本编写一个最基本的控制台应用程序。
【实例3-1】创建C#控制台应用程序
使用记事本编写C#应用程序,并在控制台屏幕输出Hello World的字符串,具体步骤如下:
01 选择“开始”|“所有程序”|“附件”|“记事本”命令,打开记事本编辑界面。
02 在记事本中输入以下代码:
03 将文件保存为Application.cs。保存文件的路径是C:/Demo/。
2.配置C#控制台的编译环境
C#源程序需要.NET Framework SDK安装程序提供的C#编译器csc.exe来编译。为了能够编译C#程序,需要首先设置系统环境变量。
01 以鼠标右键单击桌面上的“我的电脑”图标,在弹出的“系统”窗口中选择“高级系统设置”命令,打开如图3-1所示的“系统属性”对话框。
图3-1 “系统属性”对话框
02 选择“高级”选项卡,然后单击“环境变量”按钮,弹出如图3-2所示的“环境变量”对话框。
图3-2 “环境变量”对话框
03 在“系统变量”列表框中选择Path选项,单击“编辑”按钮,打开如图3-3所示的“编辑系统变量”对话框。
图3-3 “编辑系统变量”对话框
04 将.NET Framework SDK安装程序路径添加到“变量值”后面的文本框中。这里输入笔者存放程序的路径位置“;C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\;”。最后单击“确定”按钮,退出“环境变量”对话框。
3.编译执行程序
在设置好C#控制台应用程序的编译环境之后,就可以对刚才编写的Hello World程序进行编译了。
01 执行“开始”命令,在如图3-4所示的“搜索程序和文件”文本框中输入cmd后,选择上面搜索结果列表中的cmd程序,在弹出如图3-5所示的命令行窗口。
图3-4 “搜索程序和文件”文本框
图3-5 编译程序
02 在命令行窗口中输入C:/Demo,进入Application.cs文件所在的路径,然后输入csc Application.cs,再按Enter键。
03 此时会在Application.cs文件的同一目录下生成后缀为.exe同名的可执行文件Application.exe。在如图3-6所示的命令行窗口中输入Application,按Enter键就会显示输出结果Hello World。
图3-6 输出运行结果
至此,就完成了一个完整的C#控制台应用程序。
3.1.2 C#代码结构
本节通过分析前文的第一个控制台程序Application来了解C#代码的基本结构,在编写C#代码时必须遵守这些基本语法规则。
1.命名空间和类
.NET框架提供了许多的类,以便让.NET程序语言使用这些类的功能。这些类根据功能分为了许多的命名空间。.NET框架有一个System命名空间,常用的类都在这个命名空间下。例如,Application程序的第一行是通知C#编译器使用System命名空间中的类,代码如下:
上面的代码中通过使用关键字using来引用System命名空间,以便在下面的程序代码中能够直接使用各种类,这个例子中使用了Console类来操作控制台程序的输入和输出。
每个C#程序都是由很多的类、结构和数据类型组成的集合。还可以使用namespace关键字来声明命名空间,声明命名空间的语法如下:
关键字class用来声明类,在Application的例子中,声明了一个名为Hello World的类,声明类的语法如下:
在C#中,所有的应用程序都必须包装在一个类中,类中包含程序所需的变量与方法的定义。
2.Main方法
每个应用程序都有一个且只有一个Main方法,该方法定义了这个类的行为或者是该类的功能,它是程序的入口。Main方法定义的语法如下:
上面的代码中public关键字表示所有的程序都可以访问Main方法。static关键字代表Main方法为整个程序运行期间都有效的方法,而且在调用这个方法之前不必对该类进行实例化。Main方法的返回值除了void之外也可以是int型。Main方法也可以带参数,例如下面的代码:
上面的代码和Application例子中的Main方法唯一的区别就是带了字符串数组String[]类型的参数args。这里特别要强调Main方法的第一个字母M必须大写。
3.语句块
在C#程序中,把使用符号“{”和“}”包含起来的程序称为“语句块”。语句块在条件和循环语句中经常会用到,主要是把重复使用的程序语句放在一起以方便使用,这样有助于程序的结构化。上面在Application例子中的Main方法的代码就是一个语句块。以下段代码来看它的语句块结构:
上面的代码中第1行到第5行中使用了两组“{”和“}”符号形成的不同语句块,也就是实现了语句块的嵌套。
4.语句终止符
每一句C#程序都要以语句终止符来结束,C#的语句终止符是“;”分号。例如代码:
上面的代码使用了语句终止符“;”,结束变量的定义。
在C#程序中,可以在一行中写多个语句,但每个语句都要以“;”结束,也可以在多行中写一个语句,但要在最后一行中以“;”结束。例如如下代码:
上面的代码中第1行中包含有多个语句,语句之间使用终止符“;”进行分割。第3行和第4行将一句代码拆开,分两行写完。
5.注释
注释在一个程序开发语言中也是非常重要的。C#提供了两种注释的类型:
(1)单行注释,注释符号是“//”,例如以下代码:
上面的代码中使用了单行注释符号“//”,符号后面是注释的具体内容。
(2)多行注释,注释符号是“/*”和“*/”,任何在符号“/*”和“*/”之间的内容都会被编译器忽略,例如以下代码:
上面的代码中第1行和第2行使用了多行注释“/*”和“*/”符号,符号之间的是注释内容。
此外XML注释符号“///”也可以用来对C#程序进行注释,例如代码:
上面的代码中第1行和第2行使用了XML注释符号“///”,符号后面的是具体的注释内容。
6.大小写的区别
C#是一种对大小写敏感的语言。在C#程序中,同名的大写和小写代表不同的对象,因此在输入关键字、变量和函数时必须使用适当的字符。
此外,C#对小写比较偏好,它的关键字基本上都采用小写,例如if、for、while等。
在定义变量时,C#开发人员一般都遵守这样的规范:对于私有变量的定义一般都以小写字母开头、而公共变量的定义则以大写字母开头,例如:以age来定义一个私有变量、而以Age来定义一个公共变量。
共有条评论 网友评论