程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中提供的VB不支持的新特性

C#中提供的VB不支持的新特性

編輯:關於C語言

在Beta 2中,.Net中的兩種旗艦語言——C#和Visual Basic各自的功能集合都已經確定。以前我們曾經介紹過只在VB中出現的特性,例如可變匿名類型和XML常量等。而今天本文則要介紹一些只在C#中出現的特性。

第一個特性是用於創建數據類的一個語法上的便捷之處。借助於自動屬性(Automatic PropertIEs)語法,C#開發者無需書寫任何重復的代碼即可容易地創建屬性。

public int X { get; private set; }

上面這句代碼創建了一個名為X的屬性,該屬性的getter是公有的,setter是私有的。在使用上述語法時,編譯器將自動生成一個私有字段並與上述getter和setter關聯起來。

雖然這樣的自動屬性語法看上去有些類似於公有字段,不過它卻有著一些值得稱道的優勢。首先,很多內建的類型(比如列表和數據網格)只能綁定到屬性上。從長遠角度考慮,使用屬性也能夠讓開發者在需要的時候為其添加更加復雜的邏輯,而同時卻並不需要改變類型的公共接口。

另一個C#中的特性就是集合初始化器。

var mystrings = new List { "Alice", "Bob", "CharlIE" };.

借助於類似數組初始化器的語法,上述代碼將自動調用該集合的Add方法將達括號中的每一個條目添加到集合中。當然,這個特性並不能夠應用於任何對象上,可使用該特性的對象應該提供一個Add方法,且該Add方法接受一個參數。

上面的這些示例程序均來自於Jomo Fisher的文章The Least You Need to Know about C# 3.0。

需要注意的是,關於閉包和lambada表達式等令人激動的特性,Visual Basic只能夠支持單行的匿名方法。而C#則更為強大——借助於新的委托語法,C#將能夠支持多行的匿名方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved