C#變數


變數是記憶體位置的名稱。 它用於儲存資料。 其值可以更改,可以重複使用多次。
它是通過符號表示儲存器位置的方式,以便可以容易地識別。
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# 資料型別,包括:charintfloatdouble或任何使用者定義的資料型別,而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;

定義變數的規則

有關定義變數的規則如下所示 -

  • 一個變數可以有字母,數位和下劃線。
  • 變數名稱只能以字母和下劃線開頭。
  • 它不能以數位開頭。
  • 變數名稱內不允許有空格。
  • 變數名稱不能是任何保留字或關鍵詞。如:charfloat

下面是一些有效的變數名:

int x;      
int _x;      
int k20;

下面是一些無效的變數名:

int 4;      
int x y;      
int double;