Ответ 1
С# 3 имеет языковое расширение, называемое инициализаторами коллекции, которые позволяют инициализировать значения коллекции в одном утверждении.
Вот пример с помощью Dictionary<,>
:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var dict = new Dictionary<string, int>
{
{"a", 23}, {"b", 45}, {"c", 67}, {"d", 89}
};
}
}
Это расширение языка поддерживается компилятором С# 3 и любым типом, реализующим IEnumerable
и имеющим общедоступный метод Add
.
Если вы заинтересованы, я предлагаю вам прочитать fooobar.com/info/4544/..., о том, почему команда С# реализовала это языковое расширение таким любопытным образом (один раз вы читаете отличные ответы на вопрос, который вы увидите, что это имеет большой смысл).