今天小編給大家分享一下C#的var關(guān)鍵字如何使用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、甘泉網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、電子商務(wù)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為甘泉等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
聲明一個var變量a,把整型數(shù)10賦值給a,接著把一個字符串賦值給變量a。運行發(fā)現(xiàn)報錯:無法將類型string隱式轉(zhuǎn)換為int。
聲明一個var變量a,把整型數(shù)10賦值給a,接著把一個字符串賦值給變量a。運行發(fā)現(xiàn)報錯:無法將類型string隱式轉(zhuǎn)換為int。
這說明:用var聲明一個變量時,雖然不是顯式聲明,但在編譯期,已經(jīng)確定了變量的類型。
通過反編譯同樣可以證明以上推斷。
→把a = "abc";這行代碼去掉,并生按F6生成解決方案。
→打開"VS2012開發(fā)人員命令提示",輸入如下命令
→在"解決方案資源管理器"中右鍵項目的名稱,選擇"在文件資源管理器中打開文件夾",再點擊bin,Debug文件夾,在地址欄中賦值Debug文件夾的路徑
→點擊"IL DASM"的文件--打開,輸入剛才拷貝的Debug文件夾路徑,再選擇.exe后綴的可執(zhí)行文件,雙擊"Main:void(string[])"。在IL代碼中:
可以看出:變量a已經(jīng)是Int類型,并且是一個局部變量。
對于一些名稱比較長的類,當創(chuàng)建類實例的時候,用var關(guān)鍵字看上去更簡短。當然這個理由是比較牽強的~~
class Program { static void Main(string[] args) { HelloIHaveALongLongName<string, string> obj = new HelloIHaveALongLongName<string, string>(); } } public class HelloIHaveALongLongName<T, T> { public string Name; }
如果使用var關(guān)鍵字,就變成:
var obj = new HelloIHaveALongLongName<string, string>(); obj.Name = "hello";
可見,用var關(guān)鍵字,讓寫法更簡短,并且var變量是一個強類型。
通過LINQ表達式返回一個匿名類型。
static void Main(string[] args) { string[] strs = {"hello", "world", "nice", "to", "meet", "you"}; object o = from s in strs where s.Length > 3 select new {s.Length, s}; }
以上,object類型變量o并不是一個強類型變量。
class Program { static void Main(string[] args) { string[] strs = {"hello", "world", "nice", "to", "meet", "you"}; IEnumerable<SomeData> o = from s in strs where s.Length > 3 select new SomeData() {Key = s.Length, Value = s}; foreach (SomeData item in o) { Console.WriteLine(item.Key); } } } public class SomeData { public int Key; public string Value; }
以上,在IEnumerable<SomeData>類型集合中,每一個集合元素都是強類型。
class Program { static void Main(string[] args) { string[] strs = { "hello", "world", "nice", "to", "meet", "you" }; var o = from s in strs where s.Length > 3 select new { Key = s.Length, Value = s }; foreach (var item in o) { Console.WriteLine(item.Key); } } }
以上,var類型變量o接收匿名類型集合,該集合的每個元素也是強類型。也就是說,編譯器在編譯的時候自動推斷類型。
以上就是“C#的var關(guān)鍵字如何使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站題目:C#的var關(guān)鍵字如何使用
鏈接URL:http://www.chinadenli.net/article38/ieoopp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、標簽優(yōu)化、靜態(tài)網(wǎng)站、ChatGPT、App設(shè)計、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)