Я часто обнаруживаю, что создаю Dictionary с нетривиальным классом значений (например, List), а затем всегда записывать один и тот же шаблон кода при заполнении данных.
Например:
var dict = new Dictionary<string, List<string>>();
string key = "foo";
string aValueForKey = "bar";
То есть, я хочу вставить "bar" в список, соответствующий клавише "foo", где ключ "foo" может не отображаться ни на что.
Здесь я использую постоянно повторяющийся шаблон:
List<string> keyValues;
if (!dict.TryGetValue(key, out keyValues))
dict.Add(key, keyValues = new List<string>());
keyValues.Add(aValueForKey);
Есть ли более элегантный способ сделать это?
Связанные вопросы, которые не имеют ответов на этот вопрос: