C# List<object> AddRange of DBNull.Value

C# List<object> AddRange of DBNull.Value

我想用给定数量的项目初始化一个列表,所有项目的值为 DBNull.Value,这可以通过 AddRange 实现吗?

此代码初始化为 null 而不是 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);
}

谢谢

您可以将 Enumerable.RepeatToList 结合使用,如下所示:

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

注意 Cast<object>() 的使用,这是构造 List<object> 所必需的,而不是 List<DBNull>