C# 将类列表添加到字典C中#

C# 将类列表添加到字典C中#,c#,list,dictionary,C#,List,Dictionary,我有一张班级名单 List<Example> exampleList 我知道这个代码无法构建。我不知道该如何设置。您可以使用LookUp()扩展方法: var lookup = exampleList.ToLookUp(e => e.Name); 此方法返回一个查找,一个将键映射到值集合的一对多字典 但是您的代码可以通过Name分组并将每个组添加到exampleDictionary: foreach (var g in exampleList.GroupBy(e =>

我有一张班级名单

List<Example> exampleList
我知道这个代码无法构建。我不知道该如何设置。

您可以使用
LookUp()
扩展方法:

var lookup = exampleList.ToLookUp(e => e.Name);
此方法返回一个
查找
,一个将键映射到值集合的一对多字典

但是您的代码可以通过
Name
分组并将每个组添加到
exampleDictionary

foreach (var g in exampleList.GroupBy(e => e.Name))
    exampleDictionary.Add(g.Key, g.ToList());

您可以使用
LookUp()
扩展方法:

var lookup = exampleList.ToLookUp(e => e.Name);
此方法返回一个
查找
,一个将键映射到值集合的一对多字典

但是您的代码可以通过
Name
分组并将每个组添加到
exampleDictionary

foreach (var g in exampleList.GroupBy(e => e.Name))
    exampleDictionary.Add(g.Key, g.ToList());

这应该行得通

Dictionary<string, List<Example>> exampleDictionary = new Dictionary<string, List<Example>>();

foreach(var x in exampleList)
{
   if(!exampleDictionary.ContainsKey(x.Name)) {
      exampleDictionary[x.Name] = new List<Example>();
   } 
   exampleDictionary[x.Name].Add(x);       
}
Dictionary exampleDictionary=newdictionary();
foreach(示例列表中的变量x)
{
如果(!exampleDictionary.ContainsKey(x.Name)){
exampleDictionary[x.Name]=新列表();
} 
exampleDictionary[x.Name]。添加(x);
}
这应该行得通

Dictionary<string, List<Example>> exampleDictionary = new Dictionary<string, List<Example>>();

foreach(var x in exampleList)
{
   if(!exampleDictionary.ContainsKey(x.Name)) {
      exampleDictionary[x.Name] = new List<Example>();
   } 
   exampleDictionary[x.Name].Add(x);       
}
Dictionary exampleDictionary=newdictionary();
foreach(示例列表中的变量x)
{
如果(!exampleDictionary.ContainsKey(x.Name)){
exampleDictionary[x.Name]=新列表();
} 
exampleDictionary[x.Name]。添加(x);
}
您也可以使用扩展方法来实现您想要的:

Dictionary<string, List<Example>> exampleDictionary=exampleList.GroupBy(e => e.Name)
                                                               .ToDictionary(g => g.Key,g.ToList());
Dictionary-exampleDictionary=exampleList.GroupBy(e=>e.Name)
.ToDictionary(g=>g.Key,g.ToList());
您也可以使用扩展方法来实现您想要的:

Dictionary<string, List<Example>> exampleDictionary=exampleList.GroupBy(e => e.Name)
                                                               .ToDictionary(g => g.Key,g.ToList());
Dictionary-exampleDictionary=exampleList.GroupBy(e=>e.Name)
.ToDictionary(g=>g.Key,g.ToList());

与用户469104(+1)基本相同

List le=new List(){新示例(“一”)、新示例(“一”)、新示例(“两”)};
Dictionary de=新字典();
foreach(例如le中的e)
{
如果(例如姓名)
de[e.Name]。添加(e);
其他的
de.Add(e.Name,new List(){e});
}

与用户469104(+1)基本相同

List le=new List(){新示例(“一”)、新示例(“一”)、新示例(“两”)};
Dictionary de=新字典();
foreach(例如le中的e)
{
如果(例如姓名)
de[e.Name]。添加(e);
其他的
de.Add(e.Name,new List(){e});
}

但是e.Name不是键,它可以抛出异常;但是e.Name不是键,它可以抛出异常,用于解释和不同的选项。这正是我需要它做的。谢谢你的解释和不同的选择。这正是我需要它做的。