簡體   English   中英

Visual Studio 2008 vs 2005或C#3.0與C#2.0有什么新內容?

[英]What is new in Visual Studio 2008 vs 2005 or C# 3.0 vs C# 2.0?

我正在瀏覽C#問題的隱藏功能,並認為我會嘗試一個我不熟悉的功能。 不幸的是我使用的是Visual Studio 2005,稍后會介紹相關功能。 C#3.0(Visual Studio 2008)與C#2.0(Visual Studio 2005)中的新功能是否有很好的列表?

這不是一個全面的列表,但這些是我最喜歡的C#3.0的一些新功能:

新型初始化器。 而不是這樣說:

Person person = new Person();
person.Name = "John Smith";

我可以這樣說:

Person person = new Person() { Name = "John Smith" };

同樣,我可以初始化實現IEnumerable的類型,而不是單獨添加項目:

List<string> list = new List<string> { "foo", "bar" };  

lambda表達式的新語法也很好。 而不是輸入:

people.Where(delegate(person) { return person.Age >= 21;);

我可以輸入:

people.Where(person => person.Age >= 21 );

您還可以將擴展方法編寫為內置類型:

public static class StringUtilities
{
    public static string Pluralize(this word)
    {
       ...
    }
}

這允許這樣的事情:

string word = "person";
word.Pluralize(); // Returns "people"

最后。 匿名類型。 因此,您可以動態創建匿名類,如下所示:

var book = new { Title: "...", Cost: "..." };

我喜歡的幾個功能:

  • VS 2008支持針對各種版本的.NET框架,因此您可以定位2.0,3.0或3.5

  • 自動屬性很好。

例如:

public int Id { get; set; }

代替:

private int _id;
public int Id {
    get { return _id; }
    set { _id = value; }
}

多目標支持。 您可以從一個IDE構建.NET 2 - > .NET 3.5。

以下是.NET 3.0上MS頁面的鏈接: http//msdn.microsoft.com/en-us/library/bb822048.aspx ...以及VS 2008 for C#: http//msdn.microsoft.com /en-us/library/bb383815.aspx

我沒有嘗試過VS2008和.NET 3.0,但我認為這些鏈接可能會有所幫助;)

Visual Studio 2008的一個未知但強大的功能是T4(文本模板轉換工具包) T4是Visual Studio 2008中內置的代碼生成器。

查看Scott Guthrie的博客文章Visual Studio 2008和.NET 3.5 Released 這篇文章是在Visual Studio 2008和.NET 3.5發布時編寫的。 這篇文章包含了許多Visual Studio 2008和C#3.0新功能的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM