これを Linq to dataset を使用するように変換するにはどうすればよいですか?
foreach (Row row in Rows)
{
if (row.material> 0)
sumtid += row.time * row.material;
else
sumtid += row.time;
}
var sumtid = Rows.Sum(x => x.time * (x.materials > 0 ? x.materials : 1));
また
var sumtid = Rows.Sum(x => x.materials > 0 ? x.time * row.materials : x.time);
あなたのRows
変数はIEnumerable<Row>
.
編集
問題を解決する別の方法:
var sumtid = Rows.Select(x => x.materials > 0 ? x.time * row.materials : x.time)
.Sum();
@MarcinJuraszek の回答に加えて、コードをそのまま使用することもできます。
var sumtid = Rows.Sum(row =>
{
if (row.material> 0)
return row.time * row.material;
else
return row.time;
});