C 使用 var 型別注意的問題

2021-10-05 20:30:03 字數 567 閱讀 1703

var 關鍵字是c# 3.0新增的特性,稱為推斷型別。也就是說 var 可以替代所有型別,因為編譯器會推斷出你這裡應該使用的型別,但是需要注意的是:

(1)、var 的所修飾的變數必須是區域性變數

(2)、var 修改的變數必須在定義的時候初始化

(3)、一旦 var 修飾的變數初始化完成,就不能再給變數賦予跟初始值不同的值。

錯誤示範

var a ;

//隱式型別的區域性變數必須已經初始化

var b =

;//1、無法用陣列的初始值 初始化隱式型別的區域性變數

//2、只能使用陣列初始值表示式為陣列型別賦值,嘗試使用new表示式。

var e =

null

;//無法將null賦予隱式區域性變數

改正

var a=

2020;

var b =

newint

;var e =

"廣東"

;

C 中的var型別

var關鍵字是c 3.0開始新增的特性,稱為推斷型別 其實也就是弱化型別的定義 var可代替任何型別,編譯器會根據上下文來判斷你到底是想用什麼型別,類似 object,但是效率比object高點。我們可以賦予區域性變數推斷 型別 var而不是顯式型別。var 關鍵字指示編譯器根據初始化語句右側的表示...

C 中的Var型別

傳統定義變數是已經知道變數的型別,如 int a 1 string b qwer 用var型別預先不用知道變數的型別 根據你給變數賦值來判定變數屬於什麼型別 如 var a 1 則a是整型,var a qwer 則a是字元型,但使用var型別要注意 1 必須在定義時初始化,即不能先定義後初始化,如 ...

C 自學26 var推斷型別

傳統定義變數是已經知道變數的型別,如 int a 1 string b hello 用var型別預先不用知道變數的型別 根據你給變數賦值來判定變數屬於什麼型別 如 var a 1 則a是整型,var a hello 則a是字元型,但使用var型別要注意 1 必須在定義時初始化,即不能先定義後初始化,...