国产探花免费观看_亚洲丰满少妇自慰呻吟_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>())

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双辽市| 长宁县| 思茅市| 宁化县| 霍州市| 平舆县| 罗平县| 汶川县| 广宗县| 苍梧县| 海城市| 苗栗县| 梓潼县| 绵阳市| 罗平县| 鱼台县| 嘉兴市| 綦江县| 基隆市| 双牌县| 兴文县| 克什克腾旗| 汉沽区| 贵溪市| 启东市| 沙洋县| 隆安县| 马山县| 江西省| 水富县| 屏山县| 广元市| 措美县| 垫江县| 峨眉山市| 西吉县| 大余县| 调兵山市| 潍坊市| 吴忠市| 重庆市|