首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 3.0 隱含型別區域變數:var 關鍵字完全指南

     編輯:關於C語言

從顯式型別到隱含型別

C# 3.0 引入 var 關鍵字,讓編譯器根據初始化運算式自動推斷變數型別,減少冗長的型別宣告:

傳統寫法

int x = 7;
string s = "This is a string.";
double d = 99.99;
int[] numbers = new int[] { 0, 1, 2, 3, 4, 5, 6 };

C# 3.0 寫法

var x = 7;                    // 推斷為 int
var s = "This is a string.";  // 推斷為 string
var d = 99.99;                // 推斷為 double
var numbers = new int[] { 0, 1, 2, 3, 4, 5, 6 };

核心規則與常見誤區

  • 必須初始化:var x; 編譯錯誤,因為無法推斷型別
  • 非動態型別:var 只是編譯期語法糖,編譯後的 IL 中會還原為具體型別,執行效能零損耗
  • 集合初始化需指定型別參數:var list = new List<int>(); 而非 var list = new List();
  • 不可為 null:var x = null; 無法推斷型別

適用場景與最佳實務

var 在以下情況最具優勢:

  • 型別名稱冗長:var dict = new Dictionary<string, List<KeyValuePair<int, string>>>();
  • 匿名型別(LINQ 查詢結果):var result = from p in products select new { p.Name, p.Price };
  • 泛型委派:var func = new Func<int, int, int>((a, b) => a + b);

建議:當型別從右側明顯可見時使用 var;當型別不易判斷(如方法回傳值)時,保留顯式型別宣告以提升可讀性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved