變量是內(nèi)存位置的名稱。 它用于存儲數(shù)據(jù)。 其值可以更改,可以重復使用多次。
它是通過符號表示存儲器位置的方式,以便可以容易地識別。
C# 中的每個變量都有一個特定的類型,它決定了變量內(nèi)存的大小和布局,可以存儲在該存儲器中的值的范圍以及可應用于該變量的一組操作。
C# 中提供的基本值類型可以分為:
類型 | 示例 |
---|---|
整型 | sbyte, byte, short, ushort, int, uint, long, ulong, 和 char |
浮點型 | float 和 double |
十進制類型 | decimal |
布爾類型 | true 或 false, 作為分配 |
可空類型 | 可空(null )數(shù)據(jù)類型 |
C# 還允許定義變量的其他值類型,例如:枚舉和引用類型的變量,如類,我們將在后續(xù)章節(jié)中介紹。
C# 中變量定義的語法是:
data_type variable_list;
這里,data_type
必須是一個有效的 C# 數(shù)據(jù)類型,包括:char
,int
,float
,double
或任何用戶定義的數(shù)據(jù)類型,而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'. */
正確初始化變量是一個很好的編程實踐,否則程序可能會產(chǎn)生意想不到的結(jié)果。
以下示例使用各種類型的變量:
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();
}
}
}
當編譯和執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果:
a = 10, b = 20, c = 30
System
命名空間中的Console
類提供了一個用于接受用戶輸入并將其存儲到變量中的ReadLine()
函數(shù)。
示例
int num;
num = Convert.ToInt32(Console.ReadLine());
函數(shù)Convert.ToInt32()
將用戶輸入的數(shù)據(jù)轉(zhuǎn)換為int
數(shù)據(jù)類型,因為Console.ReadLine()
函數(shù)是接受字符串格式的數(shù)據(jù)。
C# 中有兩種表達式:
lvalue
):一個左值或右值的表達式可表示為左值或右側(cè)。rvalue
):一個右值表達式可出現(xiàn)在賦值的右側(cè),而不是左側(cè)。變量是左值,因此它們可能出現(xiàn)在賦值的左側(cè)。數(shù)字文字值是右值,因此它們可能不被賦值,不能出現(xiàn)在左側(cè)。 以下是一個有效的 C# 語句:
int g = 20;
但是以下不是有效的語句,并且會生成編譯時錯誤:
10 = 20;
有關(guān)定義變量的規(guī)則如下所示 -
char
,float
等下面是一些有效的變量名:
int x;
int _x;
int k20;
下面是一些無效的變量名:
int 4;
int x y;
int double;