Список C#<объект> AddRange DBNull.Value

Я хотел бы инициализировать список с заданным количеством элементов, все со значением DBNull.Value, возможно ли это через AddRange?

Этот код инициализируется как нули, а не DBNull.Value

_cellList = new List<object>(new DBNull[_columns.Count]);

Принимая во внимание, что это делает работу правильно, но с циклом for:

_cellList = new List<object>();
for(int i = 0; i<_columns.Count; i++)
{
    _cellList.Add(DBNull.Value);
}

Спасибо

1 ответ

Решение

Ты можешь использовать Enumerable.Repeat в комбинации с ToList, как это:

_cellList = Enumerable
    .Repeat(DBNull.Value, _columns.Count)
    .Cast<object>()
    .ToList();

Обратите внимание на использование Cast<object>(), который необходимо построить List<object> вместо List<DBNull>,

Другие вопросы по тегам