c#中var關(guān)鍵字用法淺談
VAR 是3.5新出的一個(gè)定義變量的類型
其實(shí)也就是弱化類型的定義
VAR可代替任何類型
編譯器會根據(jù)上下文來判斷你到底是想用什么類型的
至于什么情況下用到VAR 我想就是你無法確定自己將用的是什么類型
就可以使用VAR 類似 OBJECT
但是效率比OBJECT高點(diǎn)
使用var定義變量時(shí)有以下四個(gè)特點(diǎn):
1. 必須在定義時(shí)初始化。也就是必須是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
2. 一但初始化完成,就不能再給變量賦與初始化值類型不同的值了。
3. var要求是局部變量。
4. 使用var定義變量和object不同,它在效率上和使用強(qiáng)類型方式定義變量完全一樣。
var關(guān)鍵字是C# 3.5開始新增的特性,稱為推斷類型 .
可以賦予局部變量推斷“類型”var 而不是顯式類型。var 關(guān)鍵字指示編譯器根據(jù)初始化語句右側(cè)的表達(dá)式推斷變量的類型。推斷類型可以是內(nèi)置類型、匿名類型、用戶定義類型、.NET Framework 類庫中定義的類型或任何表達(dá)式。
上面的資料有點(diǎn)抽象不好理解.
示例:
原來我們定義變量,是要這樣:
數(shù)據(jù)類型 變量名 = 值;
如:
int a = 1;
string b = "2";
也就是說,"必須先明確地"指定你的變量是什么數(shù)據(jù)類型,才能給它賦值.這點(diǎn)很重要,要記住才好比較.
現(xiàn)在在C# 3.5里,有了變化,就是可以不用像上面那樣定義變量了.
如:
var a =1 ;
那這個(gè)a,是什么類型呢?和原來的做法不一樣了.
奧妙就在這里,IDE或編譯器會根據(jù)你給a 的值:1,來"推論,斷定"a是一個(gè)整數(shù)類型.
同理:
var b = "2";
因?yàn)榻ob的值是"2"這樣一個(gè)字符串,所以,b就是string類型...
相關(guān)文章
c# String擴(kuò)展 讓你在PadLeft和PadRight時(shí)不再受單雙字節(jié)問題困擾
這篇文章主要介紹了c# String擴(kuò)展 讓你在PadLeft和PadRight時(shí)不再受單雙字節(jié)問題困擾,需要的朋友可以參考下2020-04-04C#使用ADO.Net部件來訪問Access數(shù)據(jù)庫的方法
數(shù)據(jù)庫的訪問是所有編程語言中最重要的部分,C#提供了ADO.Net部件用于對數(shù)據(jù)庫進(jìn)行訪問。本文從最簡單易用的微軟Access數(shù)據(jù)庫入手討論在C#中對數(shù)據(jù)庫的訪問。2015-09-09C#實(shí)現(xiàn)觀察者模式(Observer?Pattern)的兩種方式
這篇文章介紹了C#實(shí)現(xiàn)觀察者模式(Observer?Pattern)的兩種方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)
不管是用 PHP 還是 C#, 在操作 XML 的時(shí)候我們除了一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)去取值之外, 還有一個(gè)非常方便的表達(dá)式, 就是 XPATH2011-05-05