Входные значения, которые вы передаете Sum(), вероятно, пусты. Из Sum() документации :
Метод Sum (IEnumerable) возвращает ноль, если источник не содержит элементов.
У меня есть метод в проекте ASP.net MVC, который должен вытягивать сумму некоторых значений из некоторых списков, добавлять их вместе, а затем умножать их на значение. Списки извлекаются из таблицы SQL, сохраняются как десятичные значения, и когда я получаю Sum значений, используя Linq, они являются десятичными значениями. Но когда я пытаюсь умножить или добавить значения друг к другу, результат всегда равен нулю.
private Decimal LLR = 0.00284M;
private Decimal GetStandardReserveForLoan(List<Loan> loans, List<LineOfCredit> locs)
{
decimal l = locs.Sum(x => x.MaxCredit ?? 0M);
decimal loan = loans.Sum(x => x.LoanAmount ?? 0M);
decimal subtotal = loan + l;
decimal total = subtotal * LLR;
return total;
}
Когда я помещаю точку останова на decimal total =линию и смотрю на местных жителей, subtotal = 0и total = 0. Я могу даже зайти в ближайшее окно и добавить loan + lвместе и 17500.00, и размножаться (loan + l) * LLRи получать 49.7.
Почему я могу получить правильные значения в непосредственном окне, но метод не вернет правильное значение?
c#,