0
ForEach
をParallel.ForEach
に変換しようとしています。C#Parallel.ForEach、not working
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