练习 - 从变量设置和获取值
由于变量是数据的临时存储容器,因此它们应 写入 和 读取。 你将在接下来的练习中有机会进行这两项活动。
练习 - 使用变量
在本练习中,你将声明变量、为其赋值、检索其值等。
创建第一个变量
选择 .NET 编辑器中的所有代码,请按 Delete 键或 Backspace 键删除它。
在代码编辑器中,输入以下代码:
string firstName; firstName = "Bob";
若要声明变量,请输入要使用的数据类型,后跟变量的名称。 若要向变量赋值,请使用 赋值运算符,该运算符是一个相等字符 =
。
注释
分配值也称为“设置变量”,或者简单地说,就是一种“set”操作。
错误地将值赋给变量
请注意,应从右到左进行赋值。 换句话说,C# 编译器必须首先了解赋值运算符右侧的值,然后它可以对赋值运算符左侧的变量执行赋值。 如果反转顺序,则将混淆 C# 编译器。
修改编写的代码以匹配以下代码:
string firstName; "Bob" = firstName;
现在,运行代码。 输出控制台中会出现以下错误:
(2,1): error CS0131: The left-hand side of an assignment must be a variable, property or indexer
错误地将不正确的数据类型的值赋给变量
你以了解到 C# 旨在强制执行类型。 使用变量时, 强制实施类型 意味着不能将一个数据类型的值分配给声明为保存不同数据类型的变量。
修改编写的代码以匹配以下代码:
int firstName; firstName = "Bob";
现在,运行代码。 输出控制台中会出现以下错误:
(2,9): error CS0029: Cannot implicitly convert type 'string' to 'int'
错误消息提示 C# 编译器在幕后尝试执行的操作。 它尝试“隐式转换”字符串“Bob”为 int 值;然而,这是不可能的。 即便如此,C# 仍尝试执行转换,但失败,因为单词“Bob”没有等效的数字。
稍后将了解有关隐式和显式类型转换的详细信息。 现在,只需记住变量只能保存与其指定数据类型匹配的值。
检索存储在变量中的值
若要从变量中检索值,只需使用变量的名称。 此示例将设置变量的值,然后检索该值并将其显示在控制台中。
修改编写的代码以匹配以下代码:
string firstName; firstName = "Bob"; Console.WriteLine(firstName);
现在,运行代码。 你将在输出控制台中看到以下结果:
Bob
从变量中检索值也称为“获取变量”,或简称为“获取”操作。
编写代码行时,你将看到编译器正在检查代码并发现可能的错误。 编译器是一个很好的工具,可帮助你更快地更正代码。 熟悉不同类型的错误后,可以借助编译器的错误消息快速修复错误。
重新分配变量的值
可以根据需要多次重复使用和重新分配变量。 此示例说明了这个想法。
修改编写的代码以匹配以下代码:
string firstName; firstName = "Bob"; Console.WriteLine(firstName); firstName = "Liem"; Console.WriteLine(firstName); firstName = "Isabella"; Console.WriteLine(firstName); firstName = "Yasmin"; Console.WriteLine(firstName);
现在,运行代码。 你将在输出控制台中看到以下结果:
Bob Liem Isabella Yasmin
初始化变量
必须先 将变量设置为 值,然后才能从变量 获取 值。 否则会出错。
修改编写的代码以匹配以下代码:
string firstName; Console.WriteLine(firstName);
现在,运行代码。 你将在输出控制台中看到以下结果:
(2,19): error CS0165: Use of unassigned local variable 'firstName'
为了避免出现未分配的局部变量的可能性,建议在声明该值后尽快设置该值。
事实上,可以在一行代码中同时执行声明和设置变量的值。 此方法称为 初始化 变量。
修改编写的代码以匹配以下代码:
string firstName = "Bob"; Console.WriteLine(firstName);
现在,运行代码。 应会看到以下输出:
Bob
回顾
到目前为止你已经学会了关于使用变量的内容如下:
- 必须先为变量分配一个值,然后才能从变量中检索值(获取)。
- 可以通过在声明点向变量赋值来初始化变量。
- 从右到左进行赋值。
- 使用单个相等字符作为赋值运算符。
- 若要从变量中检索值,只需使用变量的名称。