TOC

This article has been localized into Russian by the community.

C# 3.0:

Инициализатор коллекций

Так же, как C# 3.0 предлагает новый способ инициализации объектов, в него был включен новый синтаксис для инициализации списка элементов. Мы можем использовать Класс автомобиля из последней главы:

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

Если мы хотим создать список для содержания набора автомобилей, то должны сделать что-то подобное как на 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);

Используя инициализаторы объектов, это можно сделать немного короче:

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

Но это может быть даже проще, если комбинировать с инициализаторами коллекций:

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

Или в однострочной версии, которая делает точно то же самое:

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

10 строк кода были сокращены до одной, хотя и немного длинной, строки, благодаря инициализаторам объектов и коллекций.


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!