TOC

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

C# 3.0:

Collection Initializers

Así como C# 3.0 ofrece una nueva manera de inicializar objetos, una nueva sintáxis para inicializar una lista con un conjunto específico de elementos, ha sido incluida. Podemos usar la clase Car del capítulo anterior:

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

Si quisieramos crear una lista para contener un rango de vehículos, tendríamos que hacer algo como esto en 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);

Usando inicializadores de objetos, podríamos hacer un poco más corto:

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

Sin embargo, puede ser aún más simple, cuando lo combinamos con inicializadores de colecciones:

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

O en la versión de una línea, la cual hace exactamente lo mismo:

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

10 líneas de código han sido reducidas a una, aunque una línea un poco larga, gracias a los inicializadores de objetos y colecciones.

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!