2017-02-13 42 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