Вернуть null для FirstOrDefault() в пустой IEnumerable <int>?

Скажем, у меня есть следующий фрагмент:

int? nullableId = GetNonNullableInts().FirstOrDefault();

Поскольку GetNonNullableInts() возвращает целые числа, FirstOrDefault по умолчанию будет 0.
Есть ли способ сделать FirstOrDefault в списке целых чисел возвращать значение null, когда список пуст?

Ответ 1

int? nullableId = GetNonNullableInts().Cast<int?>().FirstOrDefault();

Ответ 2

FirstOrDefault зависит от T от IEnumerable<T>, чтобы узнать, какой тип для возврата, почему вы получаете int вместо int?.

Итак, вам нужно будет отбросить ваши элементы до int? перед возвратом любого значения, точно так же, как Matt сказал