どれが効率的ですか?Linq効率の問題 - foreach vs集約
//Option 1
foreach (var q in baseQuery)
{
m_TotalCashDeposit += q.deposit.Cash
m_TotalCheckDeposit += q.deposit.Check
m_TotalCashWithdrawal += q.withdraw.Cash
m_TotalCheckWithdrawal += q.withdraw.Check
}
//Option 2
m_TotalCashDeposit = baseQuery.Sum(q => q.deposit.Cash);
m_TotalCheckDeposit = baseQuery.Sum(q => q.deposit.Check);
m_TotalCashWithdrawal = baseQuery.Sum(q => q.withdraw.Cash);
m_TotalCheckWithdrawal = baseQuery.Sum(q => q.withdraw.Check);
私が求めていることは、Sumを基本的にリストの上に列挙することです。だから私が合計を4回呼び出すと、そのリストの4倍を列挙しているのではないでしょうか?代わりにforeachを実行するほうが効率的ではないので、リストを一度列挙すればよいのですか?
Lasseが示唆したテストを実行し、複数の合計ではなくforeachループを1つ持つことは、かなりの量で効率が良いことを発見しました。テストを実行し、さらなるサポートを提供してくれてありがとうLasseと感謝のダック。 – Alex