我想我缺少有关DataTables工作原理的一些基本知识。以下过程从开始GetData,what以填充的DataTable形式引入。以下所有代码所做的就是传递数据表的副本,对其进行操作,然后将其返回:
Sub GetData(ByVal what As DataTable)
Dim Part As DataTable = Generate(what)
End Sub
Function Generate(ByVal brown As DataTable)
Dim lameface As DataTable = DoStuff(brown)
Return lameface
End Function
Function DoStuff(ByVal cow As DataTable)
Dim result As DataTable = cow
result.Rows.RemoveAt(0)
Return result
End Function
Run Code Online (Sandbox Code Playgroud)
这上面写的方式,功能DoStuff将去除顶行result 和 cow。同样,即使将第一行发送为,brown也what将删除该行ByVal。
如果我将第一行DoStuff从
Dim result As DataTable = cow
Run Code Online (Sandbox Code Playgroud)
至
Dim result As DataTable = cow.copy
Run Code Online (Sandbox Code Playgroud)
然后cow …