c#中var關(guān)鍵字用法淺談
VAR 是3.5新出的一個(gè)定義變量的類型
其實(shí)也就是弱化類型的定義
VAR可代替任何類型
編譯器會(huì)根據(jù)上下文來(lái)判斷你到底是想用什么類型的
至于什么情況下用到VAR 我想就是你無(wú)法確定自己將用的是什么類型
就可以使用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開(kāi)始新增的特性,稱為推斷類型 .
可以賦予局部變量推斷“類型”var 而不是顯式類型。var 關(guān)鍵字指示編譯器根據(jù)初始化語(yǔ)句右側(cè)的表達(dá)式推斷變量的類型。推斷類型可以是內(nèi)置類型、匿名類型、用戶定義類型、.NET Framework 類庫(kù)中定義的類型或任何表達(dá)式。
上面的資料有點(diǎn)抽象不好理解.
示例:
原來(lái)我們定義變量,是要這樣:
數(shù)據(jù)類型 變量名 = 值;
如:
int a = 1;
string b = "2";
也就是說(shuō),"必須先明確地"指定你的變量是什么數(shù)據(jù)類型,才能給它賦值.這點(diǎn)很重要,要記住才好比較.
現(xiàn)在在C# 3.5里,有了變化,就是可以不用像上面那樣定義變量了.
如:
var a =1 ;
那這個(gè)a,是什么類型呢?和原來(lái)的做法不一樣了.
奧妙就在這里,IDE或編譯器會(huì)根據(jù)你給a 的值:1,來(lái)"推論,斷定"a是一個(gè)整數(shù)類型.
同理:
var b = "2";
因?yàn)榻ob的值是"2"這樣一個(gè)字符串,所以,b就是string類型...
相關(guān)文章
Unity實(shí)現(xiàn)物體運(yùn)動(dòng)軌跡的繪制
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)物體運(yùn)動(dòng)軌跡的繪制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
在C# WinForm應(yīng)用中實(shí)現(xiàn)多語(yǔ)種切換功能
本文將介紹如何在一個(gè)WinForm應(yīng)用程序中實(shí)現(xiàn)多語(yǔ)種切換,通過(guò)一個(gè)簡(jiǎn)單的示例,你將了解到如何使用資源文件管理不同語(yǔ)言的文本,并通過(guò)用戶界面實(shí)現(xiàn)語(yǔ)言切換,需要的朋友可以參考下2024-06-06
C# 通過(guò)NI-VISA操作Tektronix TBS 2000B系列示波器的實(shí)現(xiàn)步驟
這篇文章主要介紹了C# 通過(guò)NI-VISA操作Tektronix TBS 2000B系列示波器的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-02-02
C#調(diào)用SQL語(yǔ)句時(shí)乘號(hào)的用法
這篇文章主要介紹了C#調(diào)用SQL語(yǔ)句時(shí)乘號(hào)的用法,可避免因符號(hào)引起的程序錯(cuò)誤,是C#程序設(shè)計(jì)人員有必要掌握的,需要的朋友可以參考下2014-08-08
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型,C#的預(yù)定義數(shù)據(jù)類型包括兩種,一種是值類型,一種是引用類型,需要的朋友可以參考下2015-11-11

