我正在使用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;
}
的錯誤,我得到:
不能使用局部變量「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;
}
現在的錯誤,我得到:
「未分配的局部變量 'X2' 的使用」。
我使用的公式是從頻率表「統計」中找到中位數的方法。 但'x2'是未知的,我想在運行時計算它,但因爲'x2'沒有值,所以我不能設置'x1'和'x3'。這個問題的解決方案是什麼?
問題來自行'int x1 = x2 - 20;',您使用的是x2,但沒有聲明它的值。更改'int x2;'爲'int x2 = 0;'它應該可以工作。你不能有'未知的'值。 –
您是否使用[dynamic](http://msdn.microsoft.com/en-us/library/vstudio/dd264741.aspx)變量進行了研究? – Brian
目前還不清楚你想要做什麼。在表達式中使用它之前,您需要爲它指定一個x2值。如果要在運行時設置該值,則需要從TextBox或命令行參數獲取輸入。 –