我需要像这样初始化多个对象。
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
DataTable dt4 = new DataTable();
有没有办法将它们初始化为
DataTable dt1, dt2, dt3, dt4 = new DataTable();
如果我在上面使用过,则没有编译错误,但是有运行时错误提示An Object reference not set to an instance.
我如何实现这一目标。
答案 0 :(得分:2)
不,没有这种方法,您必须一个一个地初始化它们。
出现错误是因为dt1
至dt3
被初始化为null
,只有dt4
有一个值。因此,用d1
做任何事情都会抛出NullReferenceException
。
但是您可以单行执行:
DataTable t1 = new DataTable(), t2 = new DataTable(), t3 = new DataTable(), t4 = new DataTable();
最好是一个列表/数组:
var tables = new[] { new DataTable(), new DataTdable(), new DataTable(), new DataTable() };
甚至
var tables = Enumerable.Range(0, 4).Select(x => new DataTable());