我有一个复杂的对象,并且试图遍历这些对象并添加到另一个列表中。
但是,由于我在循环内没有几个if语句来检查其中的对象是否为null,所以迭代会花费很多时间。另外,我正在遍历约70000个项目。
下面是代码,
var Product = model; //complex object
Parallel.ForEach({model, product => {
if(product.Type != null)//type a
{ A = a.Loca;//do something }
if(product.Type != null)//type b
{ B = b.Loca;//do something }
if(product.Type != null)//type c
{ A = c.Loca;//do something }
dataAsset.Push(new assetItems(A, B, C));
}
});
我正在尝试提高性能。
答案 0 :(得分:0)
通过仅检查product.Type!= null是否一次来提高性能。您无需分别检查三遍。即
Parallel.ForEach({model, product => {
if(product.Type != null)
{ a;//do something
b;//do something
c;//do something
}
dataAsset.Push(new assetItems(a, b, c));
}
答案 1 :(得分:0)
通过使用Elvis运算符,我可以提高性能。