Skip to content
On this page

使用变量

由于变量是数据的临时存储容器,因此它们将被“写入”和“读取”。

声明变量并为其赋值

若要为变量赋值,请使用“赋值运算符”,这是一个等号字符:=

csharp
string firstName;
firstName = "Bob";

赋值也称为“设置变量”,或简称为“设置”操作。

应从右到左进行赋值

请注意,应从右到左进行赋值。换句话说,C# 编译器必须首先理解赋值运算符右侧的值,然后才能对赋值运算符左侧的变量执行赋值。如果颠倒顺序,则会混淆 C# 编译器。

例如:

csharp
string firstName;
"Bob" = firstName;

现在,运行代码。这是你将在输出控制台中看到的第一个错误:

bash
(2,1): error CS0131: The left-hand side of an assignment must be a variable, property or indexer

将正确的数据类型值分配给变量

我们前面声明过,C# 旨在强制执行类型。使用变量时,“强制执行类型”意味着不能将一种数据类型的值分配给声明为保留不同数据类型的变量。

csharp
int firstName;
firstName = "Bob";

现在,运行代码。你将在输出控制台中看到以下错误:

bash
(2,9): error CS0029: Cannot implicitly convert type 'string' to 'int'

有关 C# 编译器在幕后尝试执行的操作的错误消息提示。它会尝试将字符串“Bob”隐式转换为 int 值,但是这是不可能的。换句话说,方木栓配不进圆孔(此处意指这种隐式转换不合适)。尽管如此,C# 却试图强行这样做,但对于字词“Bob”来说没有数字等效项,因此操作失败。

修改此步骤中先前编写的代码以匹配以下代码:

csharp
string firstName;
firstName = "Bob";

检索存储在变量中的值

若要从变量中检索值,只需使用变量的名称。此示例将设置变量的值,然后检索该值并将其打印到控制台。

csharp
string firstName;
firstName = "Bob";
Console.WriteLine(firstName);

从变量中检索值也称为“获取变量”,或简称为“获取”操作。

重新分配变量的值

可根据你希望的次数,重复使用和重新分配变量。

csharp
string firstName;
firstName = "Bob";
Console.WriteLine(firstName);
firstName = "Beth";
Console.WriteLine(firstName);
firstName = "Conrad";
Console.WriteLine(firstName);
firstName = "Grant";
Console.WriteLine(firstName);

初始化变量

必须先将变量设置为值,然后才能从变量获取值。否则会出错。

csharp
string firstName;
Console.WriteLine(firstName);

现在,运行代码。你将在输出控制台中看到以下结果:

bash
(2,19): error CS0165: Use of unassigned local variable 'firstName'

若要避免可能有未分配的本地变量,建议在声明后尽快设置值。

事实上,可以在单个代码行中执行声明并设置变量的值。此技术称为初始化变量。

修改此步骤中先前编写的代码以匹配以下代码:

csharp
string firstName = "Bob";
Console.WriteLine(firstName);

概括

下面是目前为止学习到的有关使用变量的要点:

  • 必须先将值分配给变量(设置),然后才能从变量中检索(获取)值。
  • 可通过在声明时给变量赋值来初始化变量。
  • 从右到左进行赋值。
  • 可以使用单等号字符作为赋值运算符。
  • 若要从变量中检索值,只需使用变量的名称。