运行时计算

Joh*_*ohn 0 c# winforms

我正在使用Windows窗体应用程序.我有三个按钮.我写了计算每个按钮的新位置的方法.但我有一些错误(代码后解释).方法是:

    Random random = new Random();
    public int SetPointLocation()
    {
        int x1 = x2 - 20;
        int x2;
        int x3 = x2 + 20;


        int y1 = y2 - 1;
        int y2 = random.Next(0, 2);
        int y3 = y2 + 1;

        return x2 = (((x3 - x1) * (y2 - y1)) / y3 - y1) + x1;
    }
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

在声明之前不能使用局部变量'x2'.

在声明之前不能使用局部变量'y2'.

所以我重新安排了方法的块:

    Random random = new Random();
    public int SetPointLocation()
    {
        int x2;
        int x1 = x2 - 20;
        int x3 = x2 + 20;

        int y2 = Convert.ToInt32((picBox.Name).Remove(0, 10));
        int y1 = y2 - 1;
        int y3 = y2 + 1;

        return x2 = (((x3 - x1) * (y2 - y1)) / y3 - y1) + x1;
    }
Run Code Online (Sandbox Code Playgroud)

现在我得到的错误:

"使用未分配的局部变量'x2'".

我使用的公式是从频率表"统计"中找到中位数的方法.但'x2'是未知的,我想在运行时计算它,但因为'x2'没有值,我不能设置'x1'和'x3'.这个问题的解决方案是什么?!

bas*_*h.d 5

简单地使用

int x2 = 0;
Run Code Online (Sandbox Code Playgroud)

在使用之前,所有东西都需要初始化.这是语言的要求.

不要太近有关,但撞击它反正:SO.