![](/img/trans.png)
[英]converting int var to string var with unassigned local variable error
[英]Unassigned local variable and converting char to string
制作一個將字母數字電話號碼轉換為常規電話號碼的程序(例如 123-TRAVELS = 123-872-8357),但試圖找出一些(可能很容易修復)錯誤以在 CheckButton_Click 變量下顯示結果。 我現在讓自己頭疼,試圖弄清楚這一點。 這些是粘貼代碼的當前錯誤:
public static string PhoneToNumber(string str)
{
// Array version of value
var phoneNumberArr = str.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
phoneNumberArr[i] = PhoneCharToNumber(phoneNumberArr[i]);
}
return new string(phoneNumberArr);
}
public static char PhoneCharToNumber(char value)
{
switch (value)
{
case 'A':
case 'B':
case 'C':
return '2';
case 'D':
case 'E':
case 'F':
return '3';
case 'G':
case 'H':
case 'I':
return '4';
case 'J':
case 'K':
case 'L':
return '5';
case 'M':
case 'N':
case 'O':
return '6';
case 'P':
case 'Q':
case 'R':
return '7';
case 'S':
case 'T':
case 'U':
return '8';
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z':
return '9';
default: return value;
}
}
private void CheckButton_Click(object sender, EventArgs e)
{
string str = inputTextBox.Text;
char value = PhoneCharToNumber(value);
resultsLabel.Text = value;
}
private void ExitButton_Click(object sender, EventArgs e)
{
// Closes the form
this.Close();
}
}
在 CheckButton_Click 方法中,您將值作為參數傳遞。 那個時候值是未定義的,你應該像這樣傳遞 str (這是一個壞名字)。 除了 PhoneCharToNumber 返回一個字符串而不是一個字符:
private void CheckButton_Click(object sender, EventArgs e)
{
string textToProcess = inputTextBox.Text;
string processedText = PhoneToNumber(textToCheck );
resultsLabel.Text = processedText ;
}
錯誤在這里: char value = PhoneCharToNumber(value);
其中PhoneCharToNumber
value
參數尚未聲明或分配。
我想你想使用 string value = PhoneToNumber(str);
反而。 事實上,您的用戶在inputTextBox
輸入數字; 您必須將該文本轉換為有效數字,然后將結果放入resultsLabel
。
private void CheckButton_Click(object sender, EventArgs e)
{
string str = inputTextBox.Text;
string value = PhoneToNumber(str);
resultsLabel.Text = value;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.