C# - 變數



變數只不過是我們程式可以操作的儲存區域的名稱。C# 中的每個變數都有一個特定的型別,該型別決定了變數記憶體的大小和佈局、儲存在該記憶體中的值的範圍以及可以應用於變數的操作集。

C# 中提供的基本值型別可以歸類為:

型別 示例
整數型別 sbyte、byte、short、ushort、int、uint、long、ulong 和 char
浮點型別 float 和 double
十進位制型別 decimal
布林型別 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;
廣告