public int在操作完成后丢失值

use*_*135 -1 c# storage pass-by-reference winforms

我的int,在单独的类中声明,在dataStorage.cs完成此操作后会丢失其值:

private void button1_Click(object sender, EventArgs e)
{
    dataStore dataStore = new dataStore();

    dataStore.position = Convert.ToInt32(numericUpDown1.Value);

} // <= right here the value is reset to 0
Run Code Online (Sandbox Code Playgroud)

我想要做的是,在表单之间传递值.但是当另一个表单开始其进程时,我dataStorage.position失去了它的值并重置为"0".

如何在表单之间正确传递值?

Don*_*ott 5

这是因为您正在创建一个本地存储变量,该变量会立即超出范围.

将其声明为表单类的一部分:

public class MyForm : Form
{
    public dataStore _dataStore = new dataStore();

    public MyForm() { }

    private void button1_click(Object sender, EventArgs e)
    {
        _dataStore.position = Convert.ToInt32(numericUpDown1.Value);
    }
}
Run Code Online (Sandbox Code Playgroud)