C#List <object> DBNull.Value的AddRange

时间:2017-02-13 18:21:52

标签: c# list addrange

我想初始化一个包含给定数量项目的列表,所有项目的值都是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);
}

感谢

1 个答案:

答案 0 :(得分:3)

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

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

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