假设我们有一些具有共同属性的业务对象:
在我们的业务逻辑中,有两个类似于下面这样的列表:
public class A
{
// Properties in common
public int Common { get; set; }
public string aValue { get; set; }
// Some other goes here.
}
public class B
{
// Properties in common
public int Common { get; set; }
public string bValue { get; set; }
// Some other goes here.
}
在我们的业务逻辑中,有两个类似于下面这样的列表:
List<A> aList = new List<A>();
List<B> bList = new List<B>();
(假设我们已经为每个列表填充了至少100个实例)
好的,让我们开始解决问题,我们需要迭代aList以设置bList中每个实例的一个属性,这个属性与共同的属性匹配,就像这样:
foreach (A a in aList)
{
B b = bList.Find(x => x.Common == a.Common);
if (b != null)
b.bValue = a.aValue;
}
有没有更好的方法来改进这个操作呢?因为它使我们的应用程序花费太多时间才能完成。
谢谢。