【发布时间】:2009-09-21 12:35:12
【问题描述】:
我有两个表格(Form1 和 Form2)。在 Form1 上有一个“public int i”变量,它在 Form1 构造函数中设置为值 1。 然后我使用以下代码从 Form1 打开 Form2:
Form2 f2 = new Form2(ref i);
f2.ShowDialog();
Form2 的构造函数如下所示:
public int i;
public Form2(ref int x)
{
InitializeComponent();
i = x;
}
然后我将 Form2 上的变量 i 设置为值 2 并关闭 Form2。现在我希望 Form1 上的变量 i 具有值 2(因为通过传递参数的 'ref' 关键字),但值仍然是 1。我做错了什么,为什么 ref 关键字在我的示例中不起作用?
谢谢
【问题讨论】:
标签: c# pass-by-reference