Одна действительно крутая особенность в том, что инициализатор списка прекрасно работает и с пользовательскими классами: вам нужно просто реализовать интерфейс IEnumerable и иметь метод под названием Add .
Так, например, если у вас есть собственный класс, подобный этому:
class MyCustomCollection : System.Collections.IEnumerable
{
List<string> _items = new List<string>();
public void Add(string item)
{
_items.Add(item);
}
public IEnumerator GetEnumerator()
{
return _items.GetEnumerator();
}
}
это будет работать:
var myTestCollection = new MyCustomCollection()
{
"item1",
"item2"
}