全局数据表填写私人功能?

时间:2016-08-18 08:02:36

标签: c# datatable

我在代码中发现了一些奇怪的东西(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 
}

1 个答案:

答案 0 :(得分:0)

DataTable是参考类型。引用类型的变量存储对其数据的引用。如果将这样的变量传递给另一个方法,则只会复制引用本身,而不会复制它指向的对象。

方法deliveryLines中的代码变量start()和方法deliveryLines中的参数变量Orders(DataTable)指向相同的内存位置。

请参阅:

Reference Types (C# Reference)

Passing Reference-Type Parameters (C# Programming Guide)