我正在浏览 C# 的隐藏特性 问题并认为我应该尝试一下我不熟悉的功能之一。不幸的是,我使用的是 Visual Studio 2005,并且该功能是稍后介绍的。是否有一个很好的列表来列出 C# 3.0 (Visual Studio 2008) 与 C# 3.0 中的新功能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; }
}

多目标支持。您可以构建.NET 2 - &gt; .NET 3.5全部来自一个IDE。

以下是.NET 3.0上MS页面的链接: http:/ /msdn.microsoft.com/en-us/library/bb822048.aspx ......以及VS 2008 for C#: http://msdn.microsoft。 COM / EN-US /库/ bb383815.aspx

我没有尝试过VS2008和.NET 3.0,但我认为这些链接可能会有所帮助;)

Visual Studio 2008的一个未知但强大的功能是 T4(正文模板转换工具包)。 T4是Visual Studio 2008中内置的代码生成器。

查看 Scott Guthrie的博文 Visual Studio 2008和.NET 3.5发布。这篇文章是在Visual Studio 2008和.NET 3.5发布时编写的。这篇文章包含了许多Visual Studio 2008和C#3.0新功能的链接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top