![](/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.