只是想找出这两行代码之间的区别。他们似乎也在做同样的事情,但我担心我错过了一些东西,也许会对未来产生影响。设置数据表的正确使用是哪一种?
我将使用这个数据表作为我的示例
System.Data.DataTable dtExample = new System.Data.DataTable();这两种方法似乎给了我同样的东西..。
dtExample = Function.GetURLTable(); // Function which returns a new System.Data.DataTable object.
// or
dtExample = Function.GetURLTable().Copy(); 发布于 2014-02-18 20:29:01
这将创建一个空表,而不带默认构造函数的列(请注意new):
System.Data.DataTable dtExample = new System.Data.DataTable();这使用您的函数,它返回一个完全初始化和填充的函数(?)表:
dtExample = Function.GetURLTable();它使用相同的函数和DataTable.Copy创建具有相同模式和数据的克隆:
dtExample = Function.GetURLTable().Copy(); 最后一个没有意义,因为它创建了一个无效的副本。
第一个ist不相关,因为它只使用默认构造函数。如果使用GetURLTable获取表,则是多余的。
因此,如果没有更多的细节,这似乎是最合适的:
System.Data.DataTable dtExample = Function.GetURLTable();发布于 2014-02-18 20:31:05
据我所知,第一行只调用您的函数,然后将其赋值给dt,但是第二行由于.Copy调用了函数,然后创建了您刚才生成的dt的精确副本,并将其赋值在那里。基本上,第二种方法使用的内存/存储量是第一种方法的两倍;除非您希望对表进行更改,并且仍然保留初始Datatable,否则不要使用。
https://stackoverflow.com/questions/21864503
复制相似问题