无法将字符串转换为char错误消息。我试图能够编写一个程序,例如,允许用户输入1800HIETHC,它将返回所有数字。 我已经陷入困境......对于该做什么有任何帮助或建议吗?
static void Main(string[] args)
{
char number = ' ';
int numb = 0;
Console.WriteLine("Please enter the telephone number...");
number = Console.ReadLine();
while (number <= 10)
{
if (number == 'A')
{
numb = 2;
}
}
Console.WriteLine(numb);
}
}
}
答案 0 :(得分:1)
Console.ReadLine为您提供string
string
除其他外,还包括char
s
试试这个
string number = "";
int numb = 0;
Console.WriteLine("Please enter the telephone number...");
number = Console.ReadLine();
for(int i=0; i<number.Count; i++)
{
if (number[i] == 'A')
{
//...
}
}
答案 1 :(得分:1)
Console.ReadLine()
返回字符串而不是字符。所以你不能将它分配给变量号。
将字符分配给字符串后,您可以通过myString[0]
答案 2 :(得分:1)
如果我理解正确的话,
string number = "1800HIETHC"; //Console.ReadLine() reads whole line, not a single char.
int[] nums = Digits(number);
static int[] Digits(string number)
{
return number.Where(char.IsLetterOrDigit).Select(ToNum).ToArray();
}
static int ToNum(char c)
{
int[] nums = { 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9 };
if (char.IsDigit(c)) return c - '0';
c = char.ToUpper(c);
return nums[c - 'A'];
}