0
У меня есть следующий метод, содержащий простой цикл foreach в классе C#. Метод возвращает сумму итогов, рассчитанных с использованием функции в отдельном классе.Рефактор C# foreach Loop в оператор Linq
private readonly ICalculateTotalService _calculateTotalService;
public decimal GetTotal(IOrder order)
{
decimal paidTotal = 0;
foreach (var line in order.Lines)
{
paidTotal += _calculateTotalService.GetTotal(line);
}
return paidTotal;
}
Решение Resharper предполагает, что это может быть реорганизовано в оператор LINQ. Каким будет лучший способ сделать это?
Вы можете позволить Resharper сделать изменения. Вы должны иметь возможность щелкнуть значок в поле. –
Позвольте ReSharper внести изменения, а затем, если вы не понимаете, что это сделано, опубликуйте оригинальный и измененный код и спросите, почему они эквивалентны. – ChrisF
Как говорили другие, просто нажмите лампочку и дайте ей внести изменения для вас. Я упомянул, что не всегда лучше конвертировать его - у меня был действительно чистый и читаемый код, и ReSharper предложил преобразовать его, поэтому я сделал это предложение, и это стало беспорядочным и нечитаемым беспорядком. Вы должны сделать запрос на то, что более читаемо. В вашем случае я думаю, что запрос LINQ выйдет так же читаемо (если не больше), чем то, что у вас есть сейчас. – maxshuty