我在代码中发现了一些奇怪的东西(C#)。 我可以从私有虚空中的公共空白填充数据表。 作为一个例子,我调用我的私有函数与私有函数中公共void中的数据表同名,在private void中,datatable名称与Public部分中的相同,这只是填充在私有函数中没有返回命令的public void中,这怎么可能?
我的代码:
public void start()
{
DataTable deliveryLines = new DataTable();
Orders(deliveryLines); // Private function
//And here, deliveryLines containts the information from the private void.
}
private void Orders(DataTable deliveryLines)
{
////Getting Filled blablabla
}
答案 0 :(得分:0)
DataTable
是参考类型。引用类型的变量存储对其数据的引用。如果将这样的变量传递给另一个方法,则只会复制引用本身,而不会复制它指向的对象。
方法deliveryLines
中的代码变量start()
和方法deliveryLines
中的参数变量Orders(DataTable)
指向相同的内存位置。
请参阅: