首页 理论教育 C#编程新手自学手册C#类型及变量引用详解

C#编程新手自学手册C#类型及变量引用详解

时间:2023-10-22 理论教育 版权反馈
【摘要】:因为C#支持Visual Studio 2010框架定义的类,所以C#的变量类型是用类来定义的,即所有的类型都是类。C#中所有被称为类的变量类型都是引用类型,包括类、接口、数组和委托,具体说明如下。表3-2 C#整型信息注意某变量前的字符“u”表示不能在此变量中存储负值。object型object型是C#最基础的类型,它可以表示任何类型的值。

C#编程新手自学手册C#类型及变量引用详解

因为C#支持Visual Studio 2010框架定义的类,所以C#的变量类型是用类来定义的,即所有的类型都是类。C#类型的具体说明如表3-1所示。

表3-1 C#类型信息

978-7-111-36370-5-Part01-110.jpg

由表3-1所示信息可以看出,C#变量的常用类型有值类型和引用类型两大类。

1.引用类型

引用类型是C#的主要类型,在引用变量中保存的是对象的内存地址。引用类型具有如下五个特点。

1)需要在委托中为引用类型变量分配内存。

2)需要使用new运算符创建饮用类型的变量,并返回创建对象的地址。

3)引用类型变量是由垃圾回收机制来处理的。

4)多个引用类型变量都可以引用同一对象,对一个变量的操作会影响到另一个变量所引用的同一对象。

5)引用类型变量在被赋值前的值都是null。

C#中所有被称为类的变量类型都是引用类型,包括类、接口数组和委托,具体说明如下。

978-7-111-36370-5-Part01-111.jpg类类型:能够定义包含数据成员、函数成员和嵌套类型的数据结构。其中,数据成员包括常量和字段;函数成员包括方法、属性和事件等。

978-7-111-36370-5-Part01-112.jpg接口:能够定义一个协议,实现某接口的类或结构必须遵循该接口定义的协议。

978-7-111-36370-5-Part01-113.jpg数组:一种数据结构,包含可通过计算索引访问的任意变量。

978-7-111-36370-5-Part01-114.jpg委托:一种数据结构,能够引用一个或多个方法。

2.值类型

如果程序中只有引用类型,则会很容易影响整个程序的性能,通过值类型能够很好地解决这个问题。值类型是组成应用程序的最为常见的类型之一,能够存储应用数值。例如,通过一个名为mm的变量存储数值100,在应用时只需调用变量名mm,即可调用数值100。

值类型的主要特点如下。

978-7-111-36370-5-Part01-115.jpg值类型变量被保存在堆栈中。

978-7-111-36370-5-Part01-116.jpg在访问值类型变量时,一般直接访问其实例名。

978-7-111-36370-5-Part01-117.jpg每个值类型变量都有本身的副本,所以对一个值类型变量的操作不会影响到其他变量。

978-7-111-36370-5-Part01-118.jpg在复制值类型变量时,复制的是变量的值,而不是变量的地址。

978-7-111-36370-5-Part01-119.jpg值类型变量的值不能是null。

值类型从System.ValueType类中继承类,包括结构、枚举和大多数的基本类型。具体说明如下:

978-7-111-36370-5-Part01-120.jpg结构类型,能够声明常量、字段、方法和属性等。

978-7-111-36370-5-Part01-121.jpg枚举类型,具有命名常量的独特类型,每个枚举类型都有一个基础的类型,是通过枚举来声明的。

3.基本类型

基本类型是编译器直接支持的类型。使用关键字来命名基本类型,它是构造其他类型的基础。其中值类型的基本类型通常被称为简单类型,例如下面的代码声明了int类型变量:

int mm=123;

下面将详细介绍常用的基本类型。

(1)整形

在C#中定义了八种整形,具体说明如表3-2所示。

表3-2 C#整型信息

978-7-111-36370-5-Part01-122.jpg

注意

某变量前的字符“u”表示不能在此变量中存储负值。

(2)浮点

浮点型包括float型和double型两种,具体说明如表3-3所示。(www.xing528.com)

表3-3 C#浮点型信息

978-7-111-36370-5-Part01-123.jpg

(3)布尔型

布尔型有两个取值,分别是true和false,即代表“是”和“否”的含义。

(4)字符型

字符型的取值和Unicode的字符集相对应,通过字符型数据可以表示世界上所有语言的字符。字符型文本一般用一对单引号来标识,例如'MM'和'NN'。

使用字符型的转义字符可以表示一些特殊字符,常用的转义字符如表3-4所示。

表3-4 C#转义字符列表

978-7-111-36370-5-Part01-124.jpg

(5)decimal型

decimal型是一种高精度的、128位的数据类型,常用于金融和货币计算项目。decimal型表示28或29个有效数字,取值范围为±1×10~7×10。

(6)string型

string型用来表示字符串,常用于文本字符的代替,是字符型对象(char)的连续集合。当创建string型的字符串值后,就不能再修改,除非重新赋值。string型的变量赋值需要用双引号括起来,例如下面的代码:

978-7-111-36370-5-Part01-125.jpg

另外,string的变量可以使用“+”连接变量字符串。例如,下面的代码将输出“你好,机械工业出版社”。

978-7-111-36370-5-Part01-126.jpg

另外,也可以使用“+”连接不同数据类型的字符串。例如,下面的代码将输出“Hi,123!”。

978-7-111-36370-5-Part01-127.jpg

(7)object型

object型是C#最基础的类型,它可以表示任何类型的值。

实例1:使用C#变量输出“"我"是帅哥”

下面通过一个具体的实例来说明C#变量的使用。本实例保存在“光盘:\daima\3”文件夹内,项目名为name。具体实现流程如下。

1)打开Visual Studio 2010,依次单击“新建”∣“项目”选项,弹出“新建项目”对话框,如图3-2所示。

978-7-111-36370-5-Part01-128.jpg

图3-2 “新建项目”对话框

2)选择“控制台应用程序”选项,设置“名称”为name,然后单击“确定”按钮进入代码界面。

3)输入对应的代码,项目文件Program.cs整理后的主要代码如下:

978-7-111-36370-5-Part01-129.jpg

978-7-111-36370-5-Part01-130.jpg

在上述实例代码中,设置了两个变量name和myString,具体说明如下。

978-7-111-36370-5-Part01-131.jpg变量name:类型为string,并设置其值为“帅哥”。

978-7-111-36370-5-Part01-132.jpg变量myString:类型为string,并设置其值为“"我"是”。其中字符“\"”的功能是转义双引号。

实例的最终结果是输出两变量的连接值,具体如图3-3所示。

978-7-111-36370-5-Part01-133.jpg

图3-3 实例执行结果

注意

在上述实例中,使用了Visual Studio命令进行编译。除了上述编译方式外,读者也可以使用SDK命令进行编译,并且可以同时使用编译命令对多个.cs文件进行编译。例如,某个项目中有123.cs和456.cs两个文件,则可以通过“csc/out:name.exe 123.cs 456.cs”将其编译为一个可执行文件“name.cs”。上述实例只是使用了“/out”编译参数,其他编译参数的使用方式与其相似。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈