По сути, вы пытаетесь построить матрицу Теплица. Для этого есть функция:
import scipy.linalg
tlngth = 5
sp_array = scipy.linalg.toeplitz(np.roll(np.arange(tlngth - 1, -1, -1), 1),
np.arange(tlngth))
#array([[0, 1, 2, 3, 4],
# [4, 0, 1, 2, 3],
# [3, 4, 0, 1, 2],
# [2, 3, 4, 0, 1],
# [1, 2, 3, 4, 0]])
int? nullableId = GetNonNullableInts().Cast<int?>().FirstOrDefault();
FirstOrDefault
зависит от T
из IEnumerable<T>
, чтобы знать, какой тип возвращать, поэтому вы получаете int
вместо int?
.
Таким образом, вам нужно привести свои вещи к int?
, прежде чем возвращать какое-либо значение, точно так же, как Мэтт сказал