【发布时间】:2012-12-07 00:08:41
【问题描述】:
我有 2 个对象:
public class ClassA
{
public int Id
public string name;
public ClassB myObjectB;
}
public class ClassB
{
public int Id
public string name
}
foreach(ClassA item in List1)
{
ClassB obj = (from b in List2 where b.Id == item.Id select b).SingleOrDefault()
if(obj != null)
{
item.myObjectB = obj;
////////break; <- ignore this
}
}
这个解决方案对我有用,但我只是想知道是否有更好的方法来代替 Foreach
感谢大家的帮助!!!
【问题讨论】:
-
您可能应该删除
break;以使其适用于 List1 的每个项目 -
那是非常糟糕的代码。你可以用选择完成
List2.SingleOrDefault(x=>x.Id == item.Id);而不是所有的查询语法废话。