C 關鍵字var的簡要說明

2021-06-15 04:14:26 字數 810 閱讀 6775

var僅僅是乙個關鍵字,它並不是c#3.0中的一種新的型別,而是負責告訴編譯器,該變數需要根據初始化表示式來推斷變數的型別

var可代替任何型別,編譯器會根據上下文來判斷你到底是想用什麼型別。至於什麼情況下用到var, 就是當你無法確定自己將用的是什麼型別就可以使用。

使用var定義變數時有以下特點:

1.在宣告時必須同時賦值,因為宣告依賴於賦值號右邊的表示式,如果有下面的語句:

var integer; 

integer = 10;  

編譯時會報implicitly typed locals must be initialized錯誤。

2.在使用var宣告乙個區域性變數後,它仍然具有強型別,可以做如下測試:

var integer = 10; 

integer = " edisundong ";  

編譯時會報cannot implicitly convert type 'string' to 'int'錯誤。

3. 初始化器表示式的編譯期型別不可以是空(null)型別,編譯器無法根據null來推斷出區域性變數的型別,如有下面的語句:

var integer = null;  

編譯時會報cannot assign '' to an implicitly typed local錯誤。

4. 初始化語句必須是乙個表示式,初始化表示式不能包含它自身,但是可以是包含乙個物件或集合初始化器的乙個new表示式(即匿名型別)。

如可以這樣去宣告:

var coll = new hashtable();  

6.var 不能用作方法的引數和返回型別。

C 的var關鍵字

var 是3.5新出的乙個定義變數的型別 其實也就是弱化型別的定義 var可代替任何型別 編譯器會根據上下文來判斷你到底是想用什麼型別的 至於什麼情況下用到var 我想就是你無法確定自己將用的是什麼型別就可以使用var 類似 object但是效率比object高點 使用var定義變數時有以下四個特點...

Linux Linux套接字簡要說明

linux套接字 源ip位址和目的ip位址以及源埠和目標埠號的組合稱為套接字。其作用於標識客戶端請求的伺服器和服務。套接字,支援tcp ip的網路通訊的基本操作單元,可以看做是不同主機之間的程序進行雙向通訊的端點 簡單的說就是通訊的兩方的一種約定,用套接字中的相關函式來完成通訊過程。非常非常簡單的舉...

C 中的var關鍵字

var 是3.5新出的乙個定義變數的型別 其實也就是弱化型別的定義 var可代替任何型別 編譯器會根據上下文來判斷你到底是想用什麼型別的 至於什麼情況下用到var 我想就是你無法確定自己將用的是什麼型別 就可以使用var 類似 object 但是效率比object高點。或者通俗的講 var可以理解為...