0
我试图用Parallel.ForEach
转换ForEach
。C#Parallel.ForEach,不工作
ForEach
,工作完好,并给出预期的结果。当我尝试使用Parallel.ForEach
时,我得到一个List变量的错误,说它不可用。
我在做什么错?我在代码中添加了注释来解释。
public class CalssTest
{
List<AssetDetails> assets;
AssetDetails asset;
private void loadData()
{
//Loading Assetdetails here
//Skipped here to keep the code short.
}
private void cmdValidate_Click(object sender, RoutedEventArgs e)
{
OrderManager om = new OrderManager();
using (ATXFunctions atx = new ATXFunctions())
{
//*****THIS WORKS *********//.
foreach (AssetDetails ad in assets)
{
ad.OrderEntry.OrderType= "A";
ad.OrderEntry.Portfolio = "John";
ad.OrderEntry.Quantity = 1000;
ad.Compliance.Result = om.RunCompliance(atx.AtxEngine, ad.StockEntry, ad.OrderEntry);
}
//*****THIS ERRORS OUT *********//.
// Error ::
//The name 'assets' does not exist in the current context
Parallel.ForEach (assets (ad) =>
{
ad.OrderEntry.OrderType = "A";
ad.OrderEntry.Customer = "John";
ad.OrderEntry.Quantity = 1000;
ad.Compliance.Result = om.ValidateOrder(ad.StockEntry, ad.OrderEntry);
});
}
}
}
缺少逗号? – Jon
是的。我是一个白痴。在这个浪费的时间。 :)感谢您的回应。 – teddy2