c# – 字符串列表作为值的字典

我有一个字典,我的值是一个列表。
当我添加键时,如果键存在,我想添加另一个字符串到值(List)?
如果该键不存在,那么我创建一个带有值的新列表的新条目,如果该键存在,那么我将jsut添加一个值给List值
恩。

Dictionary<string, List<string>> myDic = new Dictionary<string, List<string>>();
myDic.Add(newKey, add to existing list<strings> and not create new one)
要手动执行此操作,您需要执行以下操作:

List<string> existing;
if (!myDic.TryGetValue(key, out existing)) {
    existing = new List<string>();
    myDic[key] = existing;
}
// At this point we know that "existing" refers to the relevant list in the 
// dictionary, one way or another.
existing.Add(extraValue);

然而,在许多情况下,LINQ可以使用ToLookup来做这个微不足道的事情。例如,考虑列表< Person>你想转换成一个“姓氏”到“姓氏名字”的字典。你可以使用:

var namesBySurname = people.ToLookup(person => person.Surname,
                                     person => person.FirstName);
翻译自:https://stackoverflow.com/questions/17887407/dictionary-with-list-of-strings-as-value

转载注明原文:c# – 字符串列表作为值的字典