这不是一个完整的列表,但这些是我最喜欢的 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: "..." };