Ale*_*x B 3 c# visual-studio-2005 .net-3.0 visual-studio-2008 .net-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";
Run Code Online (Sandbox Code Playgroud)
我可以这样说:
Person person = new Person() { Name = "John Smith" };
Run Code Online (Sandbox Code Playgroud)
同样,我可以初始化实现IEnumerable的类型,而不是单独添加项目:
List<string> list = new List<string> { "foo", "bar" };
Run Code Online (Sandbox Code Playgroud)
lambda表达式的新语法也很好.而不是输入:
people.Where(delegate(person) { return person.Age >= 21;);
Run Code Online (Sandbox Code Playgroud)
我可以输入:
people.Where(person => person.Age >= 21 );
Run Code Online (Sandbox Code Playgroud)
您还可以将扩展方法编写为内置类型:
public static class StringUtilities
{
public static string Pluralize(this word)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
这允许这样的事情:
string word = "person";
word.Pluralize(); // Returns "people"
Run Code Online (Sandbox Code Playgroud)
最后.匿名类型.因此,您可以动态创建匿名类,如下所示:
var book = new { Title: "...", Cost: "..." };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1435 次 |
| 最近记录: |