2017-02-13 51 views
1

我想用给定数量的项目初始化一个列表,所有的值都是DBNull.Value,这可以通过AddRange吗?C#列表<object> AddRange的DBNull.Value

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

感谢

回答

3

您可以使用Enumerable.Repeat结合ToList,如下所示:

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

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

+0

生病了!非常感谢! – Alex