1、為什麼使用推斷型別var
var可以根據變數的初始值自動推斷區域性變數型別,當無法確定所用變數的具體型別時可使用var
2、如何使用推斷型別var
客戶端**
staticsudent類定義void main(string
args)
;//建立物件
var student = new ;//
匿名類 console.writeline("
個人在進行, 其中, 歲,掌握的最好!
", a, classname, student.studentname, student.age);
console.readline();
}
public輸出class
student
public
int age
public
int studentid
}
由此可見var可以根據變數的值來推斷變數的型別
注:匿名類:匿名類不需要提前編寫類及其成員,並且只能新增屬性不能新增方法,匿名類並不是無名,而是編譯器在後台生成類名
3、推斷型別var使用時注意的問題
(1) 使用var的變數必須為區域性變數,成員變數無法用var修飾
(2) 使用var時該變數必須同時初始化,並且不能為空
(3) var本身不是定義乙個新型別
4、var和object的區別
var和object很類似,但是有一些區別,var在推斷變數的型別後不能再對該變數進行其他型別的賦值,object沒有這點限制
static前者a編譯沒問題,後者b有問題,由此可以看出var和object的區別void main(string
args)
型別推斷 var
型別推斷 type inference 使用 var 關鍵字。編譯器可以根據變數的初始化值 推斷 變數的型別。例如 int number 0 就可以寫成 var number 0 編譯器可以 推斷 出變數number為int型別。上面兩個語句是等價的。var name bu iancai var a...
C 自學26 var推斷型別
傳統定義變數是已經知道變數的型別,如 int a 1 string b hello 用var型別預先不用知道變數的型別 根據你給變數賦值來判定變數屬於什麼型別 如 var a 1 則a是整型,var a hello 則a是字元型,但使用var型別要注意 1 必須在定義時初始化,即不能先定義後初始化,...
本地變數 全域性變數 型別推斷var
與c 不同,c 在型別的外部不能宣告全域性變數,所有欄位都屬於型別,而且必須在型別宣告內部宣告,同理也沒有全域性函式,c 中方法沒有預設返回型別,所有方法必須包含返回型別或void。在c 中,可以宣告乙個本地變數,然後在巢狀塊中宣告另乙個相同名稱的本地變數,在內部範圍,內部名稱掩蓋了外部名稱,然而在...