推斷型別var

2021-09-25 14:54:12 字數 1003 閱讀 9092

1、為什麼使用推斷型別var

var可以根據變數的初始值自動推斷區域性變數型別,當無法確定所用變數的具體型別時可使用var

2、如何使用推斷型別var

客戶端**

static

void main(string

args)

;//建立物件

var student = new ;//

匿名類 console.writeline("

個人在進行, 其中, 歲,掌握的最好!

", a, classname, student.studentname, student.age);

console.readline();

}

sudent類定義

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

void main(string

args)

前者a編譯沒問題,後者b有問題,由此可以看出var和object的區別

型別推斷 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 中,可以宣告乙個本地變數,然後在巢狀塊中宣告另乙個相同名稱的本地變數,在內部範圍,內部名稱掩蓋了外部名稱,然而在...