Ответ 1
int? nullableId = GetNonNullableInts().Cast<int?>().FirstOrDefault();
Скажем, у меня есть следующий фрагмент:
int? nullableId = GetNonNullableInts().FirstOrDefault();
Поскольку GetNonNullableInts()
возвращает целые числа, FirstOrDefault
по умолчанию будет 0
.
Есть ли способ сделать FirstOrDefault
в списке целых чисел возвращать значение null
, когда список пуст?
int? nullableId = GetNonNullableInts().Cast<int?>().FirstOrDefault();
FirstOrDefault
зависит от T
от IEnumerable<T>
, чтобы узнать, какой тип для возврата, почему вы получаете int
вместо int?
.
Итак, вам нужно будет отбросить ваши элементы до int?
перед возвратом любого значения, точно так же, как Matt сказал