我想初始化一个包含给定数量项目的列表,所有项目的值都是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);
}
感谢
答案 0 :(得分:3)
您可以将Enumerable.Repeat
与ToList
结合使用,如下所示:
_cellList = Enumerable
.Repeat(DBNull.Value, _columns.Count)
.Cast<object>()
.ToList();
请注意使用Cast<object>()
,这是构建List<object>
而不是List<DBNull>
所必需的。