Répondre

6

Ce n'est pas une liste exhaustive, mais ceux-ci sont quelques-unes de mes nouvelles fonctions préférées de C# 3.0:

New initializers type. Au lieu de dire ceci:

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

je peux dire ceci:

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

De même, au lieu d'ajouter des éléments individuellement, je peux initialiser les types qui mettent en œuvre IEnumerable comme ceci:

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

Le La nouvelle syntaxe pour les expressions lambda est également agréable. Au lieu de taper ceci:

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

je peux taper ceci:

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

Vous pouvez également écrire des méthodes d'extension pour construire des types:

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

Ce qui permet quelque chose comme ceci:

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

Et enfin . Types anonymes Ainsi, vous pouvez créer des classes anonymes à la volée, comme ceci:

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

A couple Caractéristiques J'aime:

  • VS 2008 prend en charge ciblant différentes versions du framework .NET afin que vous puissiez cibler 2.0, 3.0 ou 3.5

  • propriétés automatiques sont bien.

Par exemple:

public int Id { get; set; } 

au lieu de:

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

Vous pouvez obtenir des propriétés automatiques en utilisant des extraits de code dans VS 2005 également. – RobS

+0

@RobS: +1 pour votre commentaire. – Ram

2

Support multi-ciblage. Vous pouvez créer .NET 2 -> .NET 3.5 à partir de l'IDE unique.

Questions connexes