【发布时间】:2023-04-09 23:20:01
【问题描述】:
以下帖子提供了有关传递引用类型的大量信息。但是,我现在有一个解决这种行为的实际问题。我正在使用以下代码将 DataTable 传递到第二个窗口;
Window2.LoadedTblData = _loadedTblData;
一旦通过,我希望用户继续能够使用 Window1(这意味着操纵 _loadedTblData)而不影响 Window2 中的数据。 IE。我想按值传递表格,而不是按引用传递。我该怎么做?
Why is list when passed without ref to a function acting like passed with ref?
【问题讨论】:
-
只是对您的术语的更正:您不会说要“按值传递表格”,而是要“传递表格的副本”。
-
因此问题...
-
您的问题是:如何创建 DataTable 的副本,以便副本中的任何修改都不会反映在原始文件中。这个问题是使用关于值/引用类型的错误假设和按值/引用语义传递的。如果你想回答,你应该提出一个单独的问题
-
当我说“按值传递表格”时,我指的是表格数据。我认为这在我解释我的意图时非常清楚。我知道传递表格意味着传递参考,但很明显,这不是我说“不是参考”的意图。无论如何,有人提供了我希望的答案,所以我认为不需要新问题。
标签: c# parameter-passing