Object-, Listen- und Array-Initialisierer

Seit C# 3.0 können Objekte, Listen und Arrays mit weniger Code initialisiert werden.

Initialisierung von class properties

class Program
{
  public class Foo { public int Bar { get; set; } 
                     public int Baz { get; set; } }
  static void Main()
  {
    var foo = new Foo();
    foo.Bar = 23;
    foo.Baz = 42;

    // short version
    var bar = new Foo
    {
      Bar = 23,
      Baz = 42
    };
  }
}
.NET wandelt die zweite Variante in die erste um. Auf diese Art lassen sich auch Listen initialisieren.

Liste initialisieren

using System.Collections.Generic;

class Program
{
  static void Main()
  {
    var lista = new List<int>;
    lista.Add(33);
    lista.Add(44);
    
    //short version
    var listb = new List<int>{
      33,44 
    };    
  }
}