C#变量的声明和初始化(非常详细)
变量关系到数据的存储,计算机使用内存来存储计算时所使用的数据,那么内存是如何存储数据的呢?
通过生活常识我们知道,数据是各式各样的,比如整数、小数、字符串等,在内存中存储这些数据时,首先需要根据数据的需求(即类型)为它申请一块合适的空间,然后在这个空间中存储相应的值。
实际上,内存就像一家宾馆,客人如果到一家宾馆住宿,首先需要开房间,然后入住,而在开房间时,客人需要选择是开单间、开双人间,还是开总统套房等,这其实就对应一个变量的数据类型选择问题。
在内存中为数据分配一定的空间之后,如果要使用定义的这个数据,由于内存中的数据是以二进制形式存储的,而这些二进制数据都对应相应的内存地址。因此,必须通过一个载体使用户能够方便地访问到二进制数据的内存地址,这个载体就是变量。
变量具有名称、类型和值:
在程序执行过程中,变量的值可以发生变化。使用变量之前必须先声明变量,即指定变量的类型和名称。
这里还以上面的客人入住宾馆为例,说明一个变量所需要的基本要素:
示意图如下图所示:

图 1 变量的基本要素
声明变量就是指定变量的名称和类型,变量的声明非常重要,未经声明的变量本身并不合法,也无法在程序中使用。在 C# 中,声明一个变量由一个类型和跟在后面的一个或多个变量名组成,多个变量之间用逗号分开,声明变量以分号结束,语法如下:
另外,需要注意的一点是,C# 中的变量名是区分大小写的,比如 num 和 Num 是两个不同的变量,在程序中使用时是有区别的。
下面列出变量的命名规则:
例如,下面的变量名是正确的:
下面的变量名是不正确的:
变量的初始化实际上就是给变量赋值,以便在程序中使用。在 Visual Studio 2022 开发环境中运行下面一段代码:

图 2 变量未赋值时的错误提示
从图 2 可以看出,如果直接定义一个变量,就会提示使用了未赋值的变量,这说明:在程序中使用变量时,一定要对其进行赋值,也就是初始化,然后才可以使用。
那么如何对变量进行初始化呢?初始化变量有 3 种方法,分别是单独初始化变量、声明时初始化变量、同时初始化多个变量等,下面分别进行讲解。
例如,声明一个变量 sum,并初始化其默认值为 2023,代码如下:
在对变量进行初始化时,等号右边也可以是一个已经被赋值的变量。例如,首先声明两个变量 sum 和 num,然后将变量 sum 赋值为 2023,最后将变量 sum 赋值给变量 num,代码如下:
例如,声明一个整型变量 mr,并且赋值为 927。然后同时声明 3 个字符串型变量并初始化,代码如下:
例如,声明 5 个 int 类型的变量 a、b、c、d、e,然后将这 5 个变量都初始化为 0,代码如下:
通过生活常识我们知道,数据是各式各样的,比如整数、小数、字符串等,在内存中存储这些数据时,首先需要根据数据的需求(即类型)为它申请一块合适的空间,然后在这个空间中存储相应的值。
实际上,内存就像一家宾馆,客人如果到一家宾馆住宿,首先需要开房间,然后入住,而在开房间时,客人需要选择是开单间、开双人间,还是开总统套房等,这其实就对应一个变量的数据类型选择问题。
在内存中为数据分配一定的空间之后,如果要使用定义的这个数据,由于内存中的数据是以二进制形式存储的,而这些二进制数据都对应相应的内存地址。因此,必须通过一个载体使用户能够方便地访问到二进制数据的内存地址,这个载体就是变量。
变量是什么
变量主要用来存储特定类型的数据,用户可以根据需要随时改变变量中所存储的数据值。变量具有名称、类型和值:
- 变量名是变量在程序源代码中的标识;
- 类型用来确定变量所代表的内存的大小和类型;
- 变量值是指它所代表的内存块中的数据。
在程序执行过程中,变量的值可以发生变化。使用变量之前必须先声明变量,即指定变量的类型和名称。
这里还以上面的客人入住宾馆为例,说明一个变量所需要的基本要素:
- 首先,客人需要选择房间类型,也就是确定变量类型的过程;
- 选择房间类型后,需要选择房间号,这是确定变量的名称;
- 完成以上操作后,这个客人就可以顺利入住,这样,这个客人就相当于这个房间中存储的数据。
示意图如下图所示:

图 1 变量的基本要素
C#变量的声明
好比一个新生儿必须有一个名字一样,使用变量时,也需要先对变量进行命名,对变量命名的过程其实就是声明一个变量。声明变量就是指定变量的名称和类型,变量的声明非常重要,未经声明的变量本身并不合法,也无法在程序中使用。在 C# 中,声明一个变量由一个类型和跟在后面的一个或多个变量名组成,多个变量之间用逗号分开,声明变量以分号结束,语法如下:
变量类型 变量名; // 声明一个变量 变量类型 变量名1, 变量名2, ... 变量名n; // 同时声明多个变量例如,声明一个整型变量 mr,再同时声明 3 个字符串型变量 mr_1、mr_2 和 mr_3,代码如下:
// 声明一个变量 int mr; // 声明一个整型变量 // 同时声明多个变量 string mr_1, mr_2, mr_3; // 同时声明3个字符串型变量
变量的命名规则
在声明变量时,要注意变量的命名规则。C# 的变量名是一种标识符,应该符合标识符的命名规则。另外,需要注意的一点是,C# 中的变量名是区分大小写的,比如 num 和 Num 是两个不同的变量,在程序中使用时是有区别的。
下面列出变量的命名规则:
- 变量名只能由数字、字母和下画线组成;
- 变量名的第一个字符只能是字母或下画线,不能是数字;
- 不能使用 C# 中的关键字作为变量名;
- 一旦在一个语句块中定义了一个变量名,那么在变量的作用域内就不能再定义同名的变量。
例如,下面的变量名是正确的:
city
_money
money_1
下面的变量名是不正确的:
123
2word
int
C#变量的初始化
在使用变量之前,必须进行声明并初始化。变量的初始化实际上就是给变量赋值,以便在程序中使用。在 Visual Studio 2022 开发环境中运行下面一段代码:
static void Main(string[] args) { string title; Console.WriteLine(title); }会出现如下图所示的错误提示:

图 2 变量未赋值时的错误提示
从图 2 可以看出,如果直接定义一个变量,就会提示使用了未赋值的变量,这说明:在程序中使用变量时,一定要对其进行赋值,也就是初始化,然后才可以使用。
那么如何对变量进行初始化呢?初始化变量有 3 种方法,分别是单独初始化变量、声明时初始化变量、同时初始化多个变量等,下面分别进行讲解。
1) 单独初始化变量
在 C# 中,使用赋值运算符“=”(等号)对变量进行初始化,即将等号右边的值赋给左边的变量。例如,声明一个变量 sum,并初始化其默认值为 2023,代码如下:
int sum; // 声明一个变量 sum = 2023; // 使用赋值运算符 "=" 给变量赋值
在对变量进行初始化时,等号右边也可以是一个已经被赋值的变量。例如,首先声明两个变量 sum 和 num,然后将变量 sum 赋值为 2023,最后将变量 sum 赋值给变量 num,代码如下:
int sum, num; // 声明两个变量 sum = 2023; // 将变量sum初始化为2023 num = sum; // 将变量sum赋值给变量num
2) 声明时初始化变量
声明变量时可以对变量进行初始化,即在每个变量名后面加上给变量赋初始值的指令。例如,声明一个整型变量 mr,并且赋值为 927。然后同时声明 3 个字符串型变量并初始化,代码如下:
int mr = 927; // 声明一个整型变量mr // 初始化字符串型变量mr_1、mr_2和mr_3 string mr_1 = "零基础学", mr_2 = "项目入门", mr_3 = "实例精粹";
3) 同时初始化多个变量
在对多个同类型的变量赋同一个值时,为了节省代码的行数,可以同时对多个变量进行初始化。例如,声明 5 个 int 类型的变量 a、b、c、d、e,然后将这 5 个变量都初始化为 0,代码如下:
int a, b, c, d, e; a = b = c = d = e = 0;上面讲解了初始化变量的 3 种方法,现在对前面开始出现错误的代码段进行修改,使其能够正常运行,修改后的代码如下:
static void Main(string[] args) { // 第一种方法 // string title="Hello, C#"; // 第二种方法 string title; title = "Hello, C#"; Console.WriteLine(title); }再次运行程序,即可正常运行。