Vb.net 使用()和不使用()声明datatable类之间有什么区别
我有一个关于声明datatable变量的问题 如果我将datatable变量声明为:Vb.net 使用()和不使用()声明datatable类之间有什么区别,vb.net,Vb.net,我有一个关于声明datatable变量的问题 如果我将datatable变量声明为: Dim xDt as new datatable 或 首先,您没有在那里声明类。您正在声明类型为DataTable的变量。无论如何,这项声明是无关紧要的。重要的是,您正在通过调用带有New关键字的构造函数来创建DataTable类的实例。构造函数只是一种特殊的方法,在VB中,调用没有参数的方法时可以省略括号。这: Dim表作为新数据表 在功能上与此等效: Dim table As DataTable=新Da
Dim xDt as new datatable
或
首先,您没有在那里声明类。您正在声明类型为
DataTable
的变量。无论如何,这项声明是无关紧要的。重要的是,您正在通过调用带有New
关键字的构造函数来创建DataTable
类的实例。构造函数只是一种特殊的方法,在VB中,调用没有参数的方法时可以省略括号。这:
Dim表作为新数据表
在功能上与此等效:
Dim table As DataTable=新DataTable
这在功能上等同于:
Dim表作为数据表
table=新数据表
如您所见,最后一行是重要的,变量声明是不相关的。最后一行相当于:
table=newdatatable()
是否包含括号取决于您,但我建议您出于逻辑原因选择一个选项,并始终如一地坚持下去
就我个人而言,我总是在标准方法调用中包含括号,但我总是从构造函数中省略它们。我使用前者是为了使方法易于与属性区分,因此我会这样做:
Dim str=obj.ToString()
与此相反:
Dim str=obj.ToString
但是,对于构造函数,将它们误认为属性的风险很小,但也存在将它们误认为数组的风险,例如
Dim表为DataTable()
声明类型为DataTable
array的变量,而不创建对象,同时执行以下操作:
Dim表作为新数据表()
声明类型为DataTable
的变量,并为其分配新对象。在我看来,省略构造函数中的括号可以减少混淆的可能性,而在其他方法中包含括号也是如此
Dim xDt as new datatable()