2015-02-24 55 views
0

我是新來的編碼和C#所以對不起,如果這是一個愚蠢的問題。根據文本框錯誤重新定義變量

我需要根據一個文本框(用戶輸入)來重新定義的變量和我正在一個錯誤

int age; 
private void Age_TextChanged(object sender, EventArgs e) 
    { 
     //saves age in years 
     age = Age_TextChanged.int; 
    } 

它示數上線「年齡= Age_TextChanged.int;」 int位

錯誤如下

標識符預計; 'int'是關鍵字

首先,這是什麼意思,其次,我該如何解決它?

+5

我想你需要'age = int.Parse(Age.Text);'。 – Habib 2015-02-24 21:40:00

+0

在你的文本框中沒有這種屬性叫做「int」。有一個Text屬性,需要使用Convert.ToInt32將其轉換爲整數並將其分配給變量「age」 – 2015-02-24 21:40:14

+1

請使用'TryParse',這會更安全一些。 – 2015-02-24 21:56:28

回答

1

首先,最重要的是,錯誤信息試圖指出你已經要求了一些不存在的東西。作爲一個額外的信息,它也指出int是一個關鍵字,並不適合作爲變量名稱。

如果您在文本框中輸入了一個數字,並且希望在該類型的變量中使用相同的整數,則需要使用Int32.TryParse()來嘗試將String轉換爲Int32

接受我的建議:更好地爲您的控件和變量命名。隨着你的進步,它會讓你變得更容易。我調整了我的例子,因此:

Int32 iAge; 
private void txtAge_TextChanged(Object sender, EventArgs e) 
{ 
    //Saves age in years... 
    if (!Int32.TryParse(txtAge.Text, out iAge)) 
    { 
     MessageBox.Show(String.Format("Conversion of '{0}' to Int32 failed!", txtAge.Text), "Bad Data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
    } 
    else 
    { 
     //it parsed into the Int32, so do something with it... 
    } 
}