GetValueOrDefault или объединение значений NULL для словаря или списка ⇐ C#

Место общения программистов C#
Anonymous
GetValueOrDefault или объединение значений NULL для словаря или списка

Сообщение Anonymous »

Я пытаюсь получить некоторые значения из списка. Но я хочу заверить, что если ключ не существует, он вернет значение по умолчанию 0 вместо выдачи исключения.

Код: Выделить всё

var businessDays = days.Where(x => x.Year == year).ToDictionary(x => x.Month, x => x.Qty);

var vmBusinessDays = new BusinessDay()
{
Jan = businessDays[1],
Feb = businessDays[2],
Mar = businessDays[3],
Apr = businessDays[4],
May = businessDays[5]
[..]
};
Как можно использовать что-то вроде Nullable.GetValueOrDefault или объединение null, не слишком сильно загрязняя код?

Код: Выделить всё

var vmBusinessDays = new BusinessDay()
{
Jan = businessDays[1].GetValueOrDefault(),
Feb = businessDays[1]?? 0
}
Мне известен Dictionary.TryGetValue, но он дублирует строки кода для установки выходного значения для каждого свойства.

Подробнее здесь: https://stackoverflow.com/questions/220 ... ry-or-list

Вернуться в «C#»