public class Person
{
public string Email {get; set;}
public string Name {get; set;}
}
public Report : Dictionary<string, string>
{
public Report()
{
List<Person> list = getData(); // filled with Person's
var realList = list.Where(x => x.Name != "test");
foreach( var i in realList)
{
this.Add(i.Email,i.Name);
}
}
}
我试图简化我的代码以便提出问题。基本上,我有一个Person列表,我想获取该列表的子列表,然后对于子列表中的每个元素,我想将其添加到这个类的字典中。
我的问题:是否有一种方法可以摆脱foreach语句并通过上面的linq语句实现相同的效果。因为对我来说,先遍历列表再遍历子列表似乎很愚蠢。所以在linq语句中,如果x.Name不等于test,则将其添加到字典中是很好的选择。
getData().Where(...)
。当然,前提是在代码中没有其他地方使用list
。 - Jim Mischel