亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#語言的版本及其功能

2023-05-20 20:23:37
字體:
來源:轉載
供稿:網友

Visual C# 隨.NET的開發工具Visual Studio一起推出,有如下幾個版本:

1.0——隨Visual Studio .NET(2002)于2002年2月13日發布。

1.5——隨Visual Studio .NET 2003于2003年5月20日發布。

2.0——隨Visual Studio 2005于2005年11月7日發布。

3.0——隨Visual Studio 2008于2007年11月16日發布。

4.0——將隨Visual Studio 2010于2010年3月發布。

3.0版的規范見Visual Studio 2008安裝目錄中的Word文檔:“C:/Program Files/Microsoft Visual Studio 9.0/VC#/Specifications/2052/CSharp Language Specification.doc”。

下面羅列Visual C# 的各個主要版本的新增的特點和功能。

1)C# 1.0——與C和C++比較,C# 在許多方面有所限制和增強,包括:

 指針——C# 是真正支持指針,但是其指針只能在非安全作用域中使用,而只有具有適當權限的程序,才可以執行標記為非安全的代碼。絕大多數對象的訪問是通過安全的引用(references)來進行的,而引用是不會造成無效的,而且大多數算法都是要進行溢出檢查的。一個非安全指針,不僅可以指向值類型,還可以指向子類和System.Object。也可以使用指針(System.IntPtr)來編寫安全代碼。

托管(managed受控)——在C# 中,托管內存不能顯式釋放,取而代之的是(當再沒有內存的引用存在時的)垃圾收集。但是,引用非托管資源的對象,例如HBRUSH,是可以通過標準的IDisposable接口的指示來釋放指定內存的。

多重繼承——在C# 中多重繼承被禁止(盡管一個類可以實現任意數目的接口,這點似Java),這樣做的目的是為了避免復雜性和“依存地獄”,也是為了簡化對CLI的結構需求。

轉換——C# 比C++更類型安全,唯一的默認隱式轉換也是安全轉換,例如加寬整數和從一個派生類型轉換到一個基類(這是在JIT編譯期間間接強制進行的)。在布爾和整數之間、枚舉和整數之間都不存在隱式轉換,而且任何用戶定義的隱式轉換,都必須顯式地標出。

數組聲明——和C/C++的數組聲明的語法不同,C# 中用“int[] a = new int[5];”代替了C/C++的“int a[5];”。

枚舉——C# 中的枚舉被放入它們自己的命名空間。

特性——可在C# 中可以使用特性(properties,屬性集),訪問類似于C++中成員域,與VB相似。

類型反射與發現——在C# 中可以使用完整的類型反射與發現,這些都會用到元數據所提供的信息。

模板——為了簡單性,C# 1.0中不支持模板等泛型編程技術。

2)C# 1.5版的新增功能——/** */ 文檔注釋符、#line hidden預處理指令、/nowarn和/nostdlib編譯指令、Web窗體、XML Web服務、ADO.NET、可用Windows窗體和框架創建分布式應用程序的表示層、可創建各種Windows和ASP.NET Web應用程序和控件的項目模板、可使用非可視組件和相關功能,將消息隊列、事件日志和性能計時器等資源合并到應用程序中、通過組件設計器和框架類為創建組件提供RAD支持。

3)C# 2.0的新特征:

部分類——一個類可分開到多個文件中實現。

泛型——C# 從2.0起,開始支持泛型或參數類型。C# 還支持一些C++模板不支持的特性,例如對泛型參數的類型約束。另一方面,C# 的表達式不能用作泛型參數,而這在C++中卻是允許的。C# 的參數化的類型為虛擬機的首個類對象,允許優化和保存類型信息,這一點與Java不同。

關鍵字yield——迭代器的一種新形式,可通過功能類型的關鍵字yield,來使用協同例程。

匿名委托——提供了閉包功能。

結合運算符??——返回表中的第一個非空值,例如:

object nullObj = null;
        object obj = new Object();
        return nullObj ?? obj // returns obj;

可空值類型——可空值類型由問號?來標記(例如,int? i = null;),它可以改善與SQL數據庫的交互。

4)C# 3.0的新特征:

LINQ(Language Integrated Query,語言集成查詢)——"from, where, select"上下文敏感的關鍵字,允許在SQL、XML、集合等之間進行查詢。

對象初始化——如Customer c = new Customer(); c.Name = "James"; 可被寫成Customer c = new Customer { Name="James" };。

集合初始化——如MyList list = new MyList(); list.Add(1); list.Add(2); 可被寫成MyList list = new MyList { 1, 2 };。

 匿名類型——如var x = new { Name = "James" };。

局部變量類型推論——如var x = "hello";等價于string x = "hello"; 該特性在匿名類型變量的聲明中需要。

隱含類型的數組——數組的類型現在可以省略,所以int[] arr = new int[] { 1, 2, 3 }; 現在可以寫成var arr = new[] { 1, 2, 3 };。

λ表達式——如listOfFoo.Where(delegate(Foo x) { return x.Size > 10; }) 可被寫成 listOfFoo.Where(x => x.Size > 10);。

編譯器推斷——翻譯λ表達式到強類型函數或強類型表達式樹。

自動屬性——編譯器會自動生成一個私有實例變量,而且給出適當的獲取器和設置器代碼,例如public string Name { get; private set; };。

擴展方法——通過在另一個靜態類的一個方法的首個參數中包含this關鍵字,來將方法添加到類中。如

public static class IntExtensions {
              public static void PrintPlusOne(this int x) { 
                     Console.WriteLine(x + 1);
              }
         }
         int foo = 0;
         foo.PrintPlusOne();

部分方法——允許代碼Generator生成方法的聲明作為擴展點,如果有人在另一個部分類中實際實現它,則其只被包含在源代碼編譯中。

5)4.0版準備增加的新特性主要有:

動態支持——通過引進新類型dynamic來提供對動態類型延遲綁定的支持。

Office可編程性——通過添加命名和可選的參數、dynamic類型、索引屬性和可選的ref修飾符,大大增強了訪問(包括Office自動化API在內的)COM接口的能力。

類型等價支持——可配置應用程序的內置類型信息,以代替從PIA(Primary Interop Assembly,主互操作程序集)導入的類型信息。

協變與逆變——協變(covariance)是你能夠使用更多的派生類型而不是由泛型參數指定,而協變(contravariance)則讓你使用更少的派生類型。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美专区在线视频| 精品中文字幕久久久久久| 91精品啪aⅴ在线观看国产| 欧美成人精品不卡视频在线观看| 久久久久久国产三级电影| 日韩av在线最新| 欧美成年人视频网站欧美| 欧美成人h版在线观看| 国产视频久久网| 91九色在线视频| 日本精品一区二区三区在线播放视频| 欧美性色xo影院| 国产经典一区二区| 日韩一区二区三区xxxx| 韩剧1988在线观看免费完整版| 国产精品久久色| 亚洲第一网站免费视频| 国产69精品久久久久9| 一本一本久久a久久精品牛牛影视| 色综合视频一区中文字幕| 一区二区成人精品| 91精品国产91久久久久久最新| 久久久久国产精品免费| 久久五月情影视| 正在播放欧美视频| 欧美成人四级hd版| 这里精品视频免费| 日韩成人在线视频| 日韩一区二区久久久| 欧美日韩一区二区三区| 91经典在线视频| 日本精品视频在线播放| 亚洲一区二区三区777| 国产精品三级网站| 国产亚洲a∨片在线观看| 日韩免费观看高清| 国产人妖伪娘一区91| 亚洲精品国产综合久久| 久久成人免费视频| 亚洲成人激情在线| 91av视频在线免费观看| 97国产精品免费视频| 亚洲中国色老太| 国产精品极品在线| 色天天综合狠狠色| 日韩美女视频中文字幕| 国产一区二区香蕉| 国产精品久久久久久久久久东京| 亚洲成人三级在线| 精品日本美女福利在线观看| 国产精品久久久久久影视| 日韩成人免费视频| 久久久久久综合网天天| 国产精品久久久久久久久久久久久久| 97国产成人精品视频| 久久久久www| 性欧美xxxx| 国产亚洲精品成人av久久ww| 亚洲一级一级97网| 欧美猛少妇色xxxxx| 成人黄色中文字幕| 欧美日韩一区二区三区在线免费观看| 69av在线视频| 国产精品精品久久久| 日韩久久免费电影| 欧美乱妇40p| 精品丝袜一区二区三区| 精品香蕉一区二区三区| 亚洲天堂av电影| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲人成电影网站色xx| 欧美成人中文字幕| 久久久久久一区二区三区| 欧美噜噜久久久xxx| 亚洲第一男人天堂| 亚洲精品日韩激情在线电影| 日韩免费高清在线观看| 狠狠色狠狠色综合日日五| 欧美成人亚洲成人| 欧美精品在线第一页| 亚洲精品在线视频| 久久久久久久国产| 久久精品国产99国产精品澳门| 欧美电影免费观看高清| 日韩在线观看免费高清完整版| 欧美日韩精品在线观看| 色777狠狠综合秋免鲁丝| 亚洲欧洲美洲在线综合| 欧美极品少妇xxxxⅹ裸体艺术| www高清在线视频日韩欧美| 久久精品视频导航| 欧美一区二区三区免费视| 成人国内精品久久久久一区| 成人在线精品视频| 国产精品视频公开费视频| 日本三级韩国三级久久| 国产精品视频xxx| 中文字幕欧美日韩| 国产成人avxxxxx在线看| 国内精品久久久久伊人av| 欧美在线观看一区二区三区| 亚洲欧美日韩精品久久奇米色影视| 91精品国产色综合| 日韩视频免费大全中文字幕| 欧美性xxxx极品高清hd直播| 久久亚洲私人国产精品va| 国产91成人video| 夜夜嗨av一区二区三区四区| 色偷偷偷综合中文字幕;dd| 一区二区福利视频| 国产午夜精品视频免费不卡69堂| 国内揄拍国内精品| 91精品中文在线| 欧美巨乳美女视频| 狠狠操狠狠色综合网| 亚洲欧美在线免费| 91福利视频网| 久久夜色精品国产| 孩xxxx性bbbb欧美| 亚洲激情在线视频| 国内精品久久久久影院 日本资源| 7777免费精品视频| 成人网在线免费观看| 国产精品手机播放| 亚洲精品视频免费在线观看| …久久精品99久久香蕉国产| 国产裸体写真av一区二区| 91精品久久久久久久| 一区二区福利视频| 一区二区三区国产视频| 国产97在线|日韩| 日本精品一区二区三区在线| 欧美国产日本高清在线| 欧美精品videos性欧美| 亚洲福利视频久久| 国产精品电影在线观看| 亚洲香蕉av在线一区二区三区| 亚洲最新av网址| 亚洲级视频在线观看免费1级| 91在线色戒在线| 国产精品三级网站| 欧美成人在线免费视频| 久久精品男人天堂| 国产精品 欧美在线| 日韩av网址在线观看| 久久综合伊人77777蜜臀| 欧美最近摘花xxxx摘花| 国产精品久久久久久一区二区| 欧美黑人xxx| 国产精品激情自拍| 国产日韩一区在线| 久久影院资源站| 91国产中文字幕| 日韩视频永久免费观看| 日韩美女免费视频| 欧美丰满老妇厨房牲生活| 精品久久久久久久久久| 亚洲精品白浆高清久久久久久| 日韩视频免费看| 亚洲国产另类久久精品| 日韩大陆毛片av| 欧美日韩中国免费专区在线看| 欧美日韩裸体免费视频| 中文字幕一精品亚洲无线一区|