我正在尝试使下面的方法更加通用,以便任何 List<T>
都可以作为 columnValues
参数传入。这是我的代码:
public static DataRow NewRow(this DataTable dataTable, List<string> columnValues)
{
DataRow returnValue = dataTable.NewRow();
while (columnValues.Count > returnValue.Table.Columns.Count)
{
returnValue.Table.Columns.Add();
}
returnValue.ItemArray = columnValues.ToArray();
return returnValue;
}
我可以将其更改为
List<object>
,并在传递给方法之前将原始列表转换,但我相信有更好的选择 :-)编辑:Frank的帖子让我重新考虑了这个问题。在大多数情况下,源
List<T>
将是List<object>
,因为列值很可能是不同类型的。对于我的初始用途,
List<string>
是有意义的,因为我正在从CSV解析中创建数据集,此时所有文本都是文本。