Я часто обнаруживаю, что создаю 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);
Есть ли более элегантный способ сделать это?
Связанные вопросы, которые не имеют ответов на этот вопрос: