C# - 变量


变量只不过是我们的程序可以操作的存储区域的名称。C# 中的每个变量都有一个特定的类型,它决定变量内存的大小和布局、可以存储在该内存中的值的范围以及可以应用于变量的操作集。

C# 中提供的基本值类型可分为:

类型 例子
整体型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char
浮点类型 浮动和双精度
小数类型 小数
布尔类型 true 或 false 值,如指定的那样
可空类型 可空数据类型

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;    /* 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# 中有两种表达式 -

  • 左值- 作为左值的表达式可以显示为赋值的左侧或右侧。

  • 右值- 作为右值的表达式可以出现在赋值的右侧,但不能出现在左侧。

变量是左值,因此它们可能出现在赋值的左侧。数字文字是右值,因此它们可能不会被赋值并且不能出现在左侧。以下是有效的 C# 语句 -

int g = 20;

但以下不是有效的语句,会生成编译时错误 -

10 = 20;