我有以下foreach循环,并希望将其平行以提高应用程序读取.csv文件列表的速度。将此转换为lambda的任何帮助都将非常感激!
foreach (var storeData in storeCodesData)
{
string[] storeDataSplit = storeData.Split(',');
if (storeDataSplit[0] != "")
{
Store store1 = new Store { StoreCode = storeDataSplit[0], StoreLocation = storeDataSplit[1] };
stores.Add(store1);
storename.Add( storeDataSplit[1]);
}
PopulateListViewItems(storeDataSplit[0]);
}
答案 0 :(得分:3)
我不确定你要求的是什么,但根据你的问题,这就是你如何做到这一点。请记住,你的内部逻辑必须是"并行准备好"。
Parallel.ForEach(storeCodesData, (storeData) =>
{
string[] storeDataSplit = storeData.Split(',');
if (storeDataSplit[0] != "")
{
Store store1 = new Store { StoreCode = storeDataSplit[0], StoreLocation = storeDataSplit[1] };
stores.Add(store1);
storename.Add( storeDataSplit[1]);
}
PopulateListViewItems(storeDataSplit[0]);
});