变量是内存位置的名称。 它用于存储数据。 其值可以更改,可以重复使用多次。
它是通过符号表示存储器位置的方式,以便可以容易地识别。
 C# 中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局,可以存储在该存储器中的值的范围以及可应用于该变量的一组操作。
C# 中提供的基本值类型可以分为:
| 类型 | 示例 | 
|---|---|
| 整型 | sbyte, byte, short, ushort, int, uint, long, ulong, 和 char | 
| 浮点型 | float 和 double | 
| 十进制类型 | decimal | 
| 布尔类型 | true 或 false, 作为分配 | 
| 可空类型 | 可空( null)数据类型 | 
C# 还允许定义变量的其他值类型,例如:枚举和引用类型的变量,如类,我们将在后续章节中介绍。
定义变量
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 = 1999;
初始化变量
变量可以初始化(使用一个等号=来赋值),后跟一个常量表达式。初始化的一般形式是:
variable_name = value;
变量可以在其声明中进行初始化。初始化程序包含一个等号(=),后跟一个常量表达式为:
<data_type> <variable_name> = value;
变量初始化的一些例子:
int d = 3, f = 5;    /* initializing d and f. */
byte z = 22;         /* initializes z. */
double pi = 3.14159; /* declares an approximation of pi. */
char x = 'x';        /* the variable x has the value 'x'. */
正确初始化变量是一个很好的编程实践,否则程序可能会产生意想不到的结果。
以下示例使用各种类型的变量:
using System;
namespace VariableDefinition 
{
   class Program 
   {
      static void Main(string[] args) 
      {
         short a;
         int b ;
         double c;
         /* actual initialization */
         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# 中的左值和右值表达式:
C# 中有两种表达式:
- 左值(lvalue):一个左值或右值的表达式可表示为左值或右侧。
- 右值(rvalue):一个右值表达式可出现在赋值的右侧,而不是左侧。
变量是左值,因此它们可能出现在赋值的左侧。数字文字值是右值,因此它们可能不被赋值,不能出现在左侧。 以下是一个有效的 C# 语句:
int g = 20;
但是以下不是有效的语句,并且会生成编译时错误:
10 = 20;
定义变量的规则
有关定义变量的规则如下所示 -
- 一个变量可以有字母,数字和下划线。
- 变量名称只能以字母和下划线开头。
- 它不能以数字开头。
- 变量名称内不允许有空格。
- 变量名称不能是任何保留字或关键词。如:char,float等
下面是一些有效的变量名:
int x;      
int _x;      
int k20;
下面是一些无效的变量名:
int 4;      
int x y;      
int double;
