[英]Run-Time Calculation
我正在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'。 這個問題有什么解決方案?
使用前未設置x2
。
Random random = new Random();
public int SetPointLocation()
{
int x2; // <- here' the problem
int x1 = x2 - 20;
...
給x2
賦值:
x2 = 123;
C#中不允許使用未初始化的變量。
編譯器應告訴您錯誤的位置。
聽起來您真的只想將x2作為參數傳遞。 當您知道x2應該是什么時,可以調用該函數。
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;
// Just return what x2 needs to be
return (((x3 - x1) * (y2 - y1)) / y3 - y1) + x1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.