2014-01-23 156 views
-3

我剛剛開始與編碼,我正在尋找一個簡單的高/低遊戲。 我有一個隨機起始號碼,並點擊'較高'或'較低'按鈕時設置一個新號碼。我想說的是...從字符串轉換爲int?

如果用戶點擊更高的按鈕:如果NewNumberLbl大於round1numberlbl。然後做點什麼。事情是即時得到不能夠說

If {NewNumberLbl.Text > Round1NumberLbl.Text} 
{} 

,因爲我得到了錯誤的問題:

Error 1 Operator '>' cannot be applied to operands of type 'string' and 'string'

讓我怎麼去修復這一點,並使它成爲一個int類型?

Ps我試圖創建新的int,將它們與隨機數字方法中的整數相關聯,然後調用它們?

HELP!

public Round1() 
{ 
    InitializeComponent(); 
    RandomNumber(0, 12); 
    NewNumberLbl.Visible = true; 
} 

public void RandomNumber(int min, int max) 
{ 
    int num = new Random().Next(min, max); 
    Round1NumberLbl.Text = num.ToString(); 
} 

public void RandomNumber2(int min, int max) 
{ 
    int num2 = new Random().Next(min, max); 
    NewNumberLbl.Text = num2.ToString(); 
} 

private void Round1HBtn_Click(object sender, EventArgs e) 
{ 
    //RandomNumber2(0, 12); 
    //if (newNumber >= originalNumber) 
    //{ 

    //} 
} 
+8

您是否認真告訴我您無法在Google(或StackOverflow)上查看此內容? –

+1

很少提示:使用數字數據類型(如int)來使用運算符(如< and >)比較值。另外,讓你的方法返回一個int而不是void並使用該結果。另外,你的兩種方法幾乎完全相同。嘗試只使用一個。 – NoChance

回答

3

轉換字符串到INT:

int i; 
if (int.TryParse("1234", out i){ 
    //ok 
} 
+1

我喜歡使用TryParse,因爲它在字符串包含字符而非數字的情況下添加了一些防禦。我在我的回答中發佈了一個很好的MSDN參考,OP應該閱讀和摘要。 +1爲第一個答案peer。 – websch01ar

2

您可以使用:

Convert.ToInt32(myString); 

或:

int myOut; 
int.TryParse(myString, out myOut); 

第一個將拋出一個異常,如果你嘗試的東西轉化那不是解析的中一個int。

第二個將導致0,如果轉換不成功

0

int.Parse(NewNumberLbl.Text);

但是你應該確保標籤有一個數字而不是其他的字符。

0
string text = "500"; 
int num = int.Parse(text); 

這應該工作。您可以使用TryParse來檢查「文本」是否有效