TOC

This article is currently in the process of being translated into French (~98% done).

C# 3.0:

Collection Initializers

Tout comme C# 3.0 offre une nouvelle façon d'initialiser des objets, une nouvelle syntaxe pour initialiser une liste avec un ensemble spécifique d'éléments ajoutés, a été incluse. Nous pouvons utiliser la classe "Car" du dernier chapitre :

class Car
{
    public string Name { get; set; }
    public Color Color { get; set; }
}

Si nous voulions créer une liste contenant un ensemble de voitures, nous devions faire quelque chose comme ça avec C# 2.0 :

Car car;
List<Car> cars = new List<Car>();

car = new Car();
car.Name = "Corvette";
car.Color = Color.Yellow;
cars.Add(car);

car = new Car();
car.Name = "Golf";
car.Color = Color.Blue;
cars.Add(car);

En utilisant des initialisateurs d'objets, nous pouvons faire un peu plus court :

List<Car> cars = new List<Car>();
cars.Add(new Car { Name = "Corvette", Color = Color.Yellow });
cars.Add(new Car { Name = "Golf", Color = Color.Blue});

Cela dit, ça peut être encore plus simple, lorsque combiné avec des initialiseurs de collections :

List<Car> cars = new List<Car> 
{ 
    new Car { Name = "Corvette", Color = Color.Yellow },
    new Car { Name = "Golf", Color = Color.Blue}
};

Ou dans la version en une seule ligne, qui fait exactement la même chose :

List<Car> cars = new List<Car> { new Car { Name = "Corvette", Color = Color.Yellow }, new Car { Name = "Golf", Color = Color.Blue} };

10 lignes de code ont été réduites en une seule ligne, certes un peu longue, grâce aux initialiseurs d'objets et de collections.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!