因为C#支持Visual Studio 2010框架定义的类,所以C#的变量类型是用类来定义的,即所有的类型都是类。C#类型的具体说明如表3-1所示。
表3-1 C#类型信息
由表3-1所示信息可以看出,C#变量的常用类型有值类型和引用类型两大类。
1.引用类型
引用类型是C#的主要类型,在引用变量中保存的是对象的内存地址。引用类型具有如下五个特点。
1)需要在委托中为引用类型变量分配内存。
2)需要使用new运算符创建饮用类型的变量,并返回创建对象的地址。
3)引用类型变量是由垃圾回收机制来处理的。
4)多个引用类型变量都可以引用同一对象,对一个变量的操作会影响到另一个变量所引用的同一对象。
5)引用类型变量在被赋值前的值都是null。
C#中所有被称为类的变量类型都是引用类型,包括类、接口、数组和委托,具体说明如下。
类类型:能够定义包含数据成员、函数成员和嵌套类型的数据结构。其中,数据成员包括常量和字段;函数成员包括方法、属性和事件等。
接口:能够定义一个协议,实现某接口的类或结构必须遵循该接口定义的协议。
数组:一种数据结构,包含可通过计算索引访问的任意变量。
委托:一种数据结构,能够引用一个或多个方法。
2.值类型
如果程序中只有引用类型,则会很容易影响整个程序的性能,通过值类型能够很好地解决这个问题。值类型是组成应用程序的最为常见的类型之一,能够存储应用数值。例如,通过一个名为mm的变量存储数值100,在应用时只需调用变量名mm,即可调用数值100。
值类型的主要特点如下。
值类型变量被保存在堆栈中。
在访问值类型变量时,一般直接访问其实例名。
每个值类型变量都有本身的副本,所以对一个值类型变量的操作不会影响到其他变量。
在复制值类型变量时,复制的是变量的值,而不是变量的地址。
值类型变量的值不能是null。
值类型从System.ValueType类中继承类,包括结构、枚举和大多数的基本类型。具体说明如下:
结构类型,能够声明常量、字段、方法和属性等。
枚举类型,具有命名常量的独特类型,每个枚举类型都有一个基础的类型,是通过枚举来声明的。
3.基本类型
基本类型是编译器直接支持的类型。使用关键字来命名基本类型,它是构造其他类型的基础。其中值类型的基本类型通常被称为简单类型,例如下面的代码声明了int类型变量:
int mm=123;
下面将详细介绍常用的基本类型。
(1)整形
在C#中定义了八种整形,具体说明如表3-2所示。
表3-2 C#整型信息
注意
某变量前的字符“u”表示不能在此变量中存储负值。
(2)浮点型
浮点型包括float型和double型两种,具体说明如表3-3所示。(www.xing528.com)
表3-3 C#浮点型信息
(3)布尔型
布尔型有两个取值,分别是true和false,即代表“是”和“否”的含义。
(4)字符型
字符型的取值和Unicode的字符集相对应,通过字符型数据可以表示世界上所有语言的字符。字符型文本一般用一对单引号来标识,例如'MM'和'NN'。
使用字符型的转义字符可以表示一些特殊字符,常用的转义字符如表3-4所示。
表3-4 C#转义字符列表
(5)decimal型
decimal型是一种高精度的、128位的数据类型,常用于金融和货币计算项目。decimal型表示28或29个有效数字,取值范围为±1×10~7×10。
(6)string型
string型用来表示字符串,常用于文本字符的代替,是字符型对象(char)的连续集合。当创建string型的字符串值后,就不能再修改,除非重新赋值。string型的变量赋值需要用双引号括起来,例如下面的代码:
另外,string的变量可以使用“+”连接变量字符串。例如,下面的代码将输出“你好,机械工业出版社”。
另外,也可以使用“+”连接不同数据类型的字符串。例如,下面的代码将输出“Hi,123!”。
(7)object型
object型是C#最基础的类型,它可以表示任何类型的值。
实例1:使用C#变量输出“"我"是帅哥”
下面通过一个具体的实例来说明C#变量的使用。本实例保存在“光盘:\daima\3”文件夹内,项目名为name。具体实现流程如下。
1)打开Visual Studio 2010,依次单击“新建”∣“项目”选项,弹出“新建项目”对话框,如图3-2所示。
图3-2 “新建项目”对话框
2)选择“控制台应用程序”选项,设置“名称”为name,然后单击“确定”按钮进入代码界面。
3)输入对应的代码,项目文件Program.cs整理后的主要代码如下:
在上述实例代码中,设置了两个变量name和myString,具体说明如下。
变量name:类型为string,并设置其值为“帅哥”。
变量myString:类型为string,并设置其值为“"我"是”。其中字符“\"”的功能是转义双引号。
实例的最终结果是输出两变量的连接值,具体如图3-3所示。
图3-3 实例执行结果
注意
在上述实例中,使用了Visual Studio命令进行编译。除了上述编译方式外,读者也可以使用SDK命令进行编译,并且可以同时使用编译命令对多个.cs文件进行编译。例如,某个项目中有123.cs和456.cs两个文件,则可以通过“csc/out:name.exe 123.cs 456.cs”将其编译为一个可执行文件“name.cs”。上述实例只是使用了“/out”编译参数,其他编译参数的使用方式与其相似。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。