变量简介
变量实际上是给我们的程序可以操纵的存储区域所起的名字。C# 中的每个变量都有一个特定的类型,这决定了变量内存的大小和布局、可以存储在该内存中的值的范围以及可以应用于变量的操作集。
C# 提供的基本值类型可以归类为:
-
整数类型:
sbyte
, byte
, short
, ushort
, int
, uint
, long
, ulong
, char
-
-
-
-
C# 还允许定义其他值类型变量如 enum
以及引用类型变量如 class
,我们将在后续章节中讨论这些类型。
定义变量
C# 中定义变量的语法如下:
<data_type> <variable_list>;
其中,data_type
必须是一个有效的 C# 数据类型,包括 char
, int
, float
, double
或者任何用户定义的数据类型,而 variable_list
可能包含一个或多个由逗号分隔的标识符名称。
一些有效的变量定义如下:
int i, j, k;
char c, ch;
float f, salary;
double d;
你可以在定义变量的同时初始化它:
int i = 100;
初始化变量
变量通过等号后跟一个常量表达式的方式进行初始化。初始化的一般形式如下:
variable_name = value;
变量可以在其声明时初始化。初始化器由等号后跟一个常量表达式组成:
<data_type> <variable_name> = value;
一些例子如下:
int d = 3, f = 5;
byte z = 22;
double pi = 3.14159;
char x = 'x';
正确初始化变量是一个好的编程实践,否则程序可能会产生意外的结果。
下面的例子使用了各种类型的变量:
实时演示
using System;
namespace VariableDefinition {
class Program {
static void Main(string[] args) {
short a;
int b ;
double c;
a = 10;
b = 20;
c = a + b;
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
Console.ReadLine();
}
}
}
当上述代码被编译并执行时,它会产生如下结果:
a = 10, b = 20, c = 30
从用户接受值
System
命名空间中的 Console
类提供了 ReadLine()
函数来接受用户的输入并将它存储到变量中。
例如,
int num;
num = Convert.ToInt32(Console.ReadLine());
Convert.ToInt32()
函数将用户输入的数据转换为 int
数据类型,因为 Console.ReadLine()
接受的数据是以字符串格式存在的。
C# 中的 Lvalue 和 Rvalue 表达式
C# 中有两种类型的表达式:
-
Lvalue − 一个作为 Lvalue 的表达式可以出现在赋值运算符的左侧或右侧。
-
Rvalue − 一个作为 Rvalue 的表达式只能出现在赋值运算符的右侧。
变量是 Lvalue 因此它们可以出现在赋值运算符的左侧。数值字面量是 Rvalue 因此它们不能被赋值并且不能出现在赋值运算符的左侧。下面是一个有效的 C# 语句:
int g = 20;
但是下面不是一个有效的语句,并且会产生编译时错误:
10 = 20;