在我的WinForm程序(vb.net)我說:爲什麼Clear()清除兩個DataTable?
Dim dt As New DataTable
'Get data from DB into dt
'...
Dim dttemp As New DataTable
dttemp = dt
dt.Clear()
'...
但是當我運行該程序,Clear()
清除既dt
和dttemp
! 爲什麼?是不是dt
和dttemp
應該是DataTable
的兩個不同的實例?
(我終於找到了一個解決方案 - dttemp = dt.Copy()
代替dttemp = dt
但我仍然不明白爲什麼Copy()
在這種情況下是必要很抱歉,如果這是一個基本的問題 - 我是一個初學編程的。)
「dttemp = dt」將您的臨時變量分配給與您的主「dt」相同的實例,因此它們都對同一個對象保持相同的引用。更有意義? – asawyer 2011-02-28 14:53:47