變數是記憶體位置的名稱。 它用於存儲數據。 其值可以更改,可以重複使用多次。
它是通過符號表示記憶體位置的方式,以便可以容易地識別。
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;