У меня есть цикл foreach, который работает. Я рассматриваю Параллельные функции. Можно ли преобразовать следующий код для использования параллельного программирования?Могу ли я использовать parallel.ForEach для вызова различных функций?
int result ;
int counter;
foreach(DataRow dr in ds.Tables[0].Rows) {
switch(dr["Gender"].ToString()) {
case "Male":
result = functionMale(dr["Gender"].ToString());
counter += result;
break;
case "Female":
result = functionFemale(dr["Gender"].ToString());
counter += result;
break;
default:
result = functionUnkown(dr["Gender"].ToString());
counter += result;
break;
}
}
Основываясь на том, что я изучил, у меня есть только следующее.
Parallel.ForEach(ds.Tables[0].AsEnumerable(), dr => {
var result = functionMale(dr["Gender"].ToString();
});
Любые идеи? Спасибо
Вот ссылка на агрегирование в параллельной среде на C# http://msdn.microsoft.com/en-us/library/ff963547.aspx – Servy