C# 变量
C# 中的变量与数学中的变量相同。在我们理解什么是变量之前,让我们先理解表达式。以下是表达式的示例。
10 + 20
5 * 2
10/2
上述表达式的结果是固定的,例如 10 + 20 = 30
,5 * 2 = 10
和 10/2 = 5
。现在,考虑以下表达式。
x + 20
y * 2
z/2
上述表达式的结果取决于 x
、y
和 z
的值。例如,如果 x = 5
,则 x + 20
的结果将是 25
;如果 x = 20
,则 x + 20
的结果将是 40
。同样,y * 2
的结果取决于 y
的值,z/2
的结果取决于 z
的值。在这里,x
、y
、z
被称为变量,因为它们的值可以改变。
C# 中使用了相同的概念。在 C# 中,变量存储特定数据类型的值。它可以存储数字、字符、字符串或其他类型的值。你可以像 int x = 5;
这样声明并赋值给一个变量,其中 int
是数据类型,x
是变量的名称,=
是一个将值赋给变量的运算符,5
是赋给变量 x
的整数值。
<data type> <variable name> = <value>;
以下声明并初始化一个 int
类型的变量。
int num = 100;
上面,int
是数据类型,num
是变量名(标识符)。=
运算符用于给变量赋值。=
运算符的右侧是要赋给左侧变量的值。上面,100 赋给了变量 num
。
以下声明并初始化不同数据类型的变量。
int num = 100;
float rate = 10.2f;
decimal amount = 100.50M;
char code = 'C';
bool isValid = true;
string name = "Steve";
以下是 C# 中声明变量的命名约定
- 变量名必须是唯一的。
- 变量名只能包含字母、数字和下划线
_
。 - 变量名必须以字母开头。
- 变量名是区分大小写的,
num
和Num
被认为是不同的名称。 - 变量名不能包含保留关键字。如果想将保留关键字用作标识符,必须在关键字前加上
@
前缀。
C# 是一种强类型语言。这意味着你只能赋值指定数据类型的值。你不能将整数值赋给字符串类型,反之亦然。
int num = "Steve";
变量可以先声明,后初始化。
int num;
num = 100;
变量在使用前必须被赋值,否则 C# 会给出编译时错误。
int i;
int j = i; //compile-time error: Use of unassigned local variable 'i'
变量的值可以在初始化后随时更改。
int num = 100;
num = 200;
Console.WriteLine(num); //output: 200
相同数据类型的多个变量可以在一行中声明和初始化,用逗号分隔。
int i, j = 10, k = 100;
相同类型的多个变量也可以在多行中声明,用逗号分隔。编译器会将其视为一个语句,直到遇到分号 ;
。
int i = 0,
j = 10,
k = 100;
一个变量的值可以赋给另一个相同数据类型的变量。但是,变量在使用前必须被赋值。
int i = 100;
int j = i; // value of j will be 100
变量可以在表达式中使用,表达式的结果可以赋给相同或不同的变量。
int i = 100;
int j = i + 20; // j = 120
i = 200;
j = i + 20;// j = 220
i = 300;
Console.WriteLine("j = {0}", j);// j = 220
在上面的例子中,j
的值取决于 i
的值。每次更改 i
的值时,都必须重新执行表达式;否则,j
的值不会根据 i
的值而改变。
在 C# 中,变量根据它们在内存中存储值的方式进行分类。变量分为值类型、引用类型或指针类型变量。
声明变量时,不一定需要指定具体类型。可以使用 var
关键字代替数据类型。接下来会学习它。