国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C# 3.0新特性初步研究 Part1:使用隱含類型的本地變量

2024-07-21 02:28:59
字體:
來源:轉載
供稿:網友


c# 3.0給我們帶來了很多新特性,其中增加了很多“動態”內容,
讓我們使用起來更加sharp!

我在這里簡單的介紹一下c# 3.0規范中的一些“新鮮”內容,小弟才疏學淺,望大家海涵!

part1:使用隱含類型的本地變量

在c#3.0之前的c#語言中,我們在聲明變量的時候都必須顯式的指定變量類型(int,string之類的)
我們一般都是這樣寫的:


 1static void initandprint()
 2{
 3       int x = 7;
 4       string s = "this is a string.";
 5       double d = 99.99;
 6       int[] numbers = new int[] { 0, 1, 2, 3, 4, 5, 6 };
 7
 8       console.writeline("x: " + x);
 9       console.writeline("s: " + s);
10       console.writeline("d: " + d);
11       console.writeline("numbers: ");
12       foreach (int n in numbers) console.writeline(n);
13}

而在c# 3.0中,我們這樣寫:


 1static void initandprint()
 2        {
 3            var x = 7;
 4            var s = "this is a string.";
 5            var d = 99.99;
 6            var numbers = new int[] { 0, 1, 2, 3, 4, 5, 6 };
 7
 8            console.writeline("x: " + x);
 9            console.writeline("s: " + s);
10            console.writeline("d: " + d);
11            console.writeline("numbers: ");
12            foreach (int n in numbers) console.writeline(n);
13        }
大家應該可以注意到,原來的什么int、string之流都變成了var關鍵字了,甚至連數組的聲明都不例外。
但是我們應該明白一點:
這種機制和perl之類的var內心有著根本性的不同,雖然我們代碼中寫的是var,但是對于編譯器來說,
通過變量的初始化表達式已經“正確的識別出了變量的類型”,所以在編譯生成的msil中,我們是沒有var類型出現的,
而是使用相應的數據類型來代替。
也就是說:
1、var標記的變量一定要初始化!!
2、對于集合類型的var在初始化的時候一定要指明類型(例如使用list<int>())

對于一些很長的,很復雜的變量聲明來說,使用隱含類型聲明可以有效的降低代碼量,也避免了一些錯誤的出現。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 利川市| 舒兰市| 吴桥县| 垦利县| 涟源市| 榆社县| 宜春市| 宜阳县| 阿拉善盟| 措美县| 昭苏县| 盱眙县| 武夷山市| 志丹县| 沈阳市| 沙洋县| 南雄市| 自治县| 香港 | 孙吴县| 奈曼旗| 泰兴市| 南岸区| 冷水江市| 阳泉市| 崇州市| 安丘市| 噶尔县| 涡阳县| 昂仁县| 苍南县| 犍为县| 扎鲁特旗| 红安县| 内黄县| 锦州市| 那曲县| 金堂县| 静安区| 彭山县| 景洪市|