错误表示无法将字符串转换为int

时间:2019-12-07 17:50:43

标签: c# string int switch-statement console.readline

      string num;
            num = Console.ReadLine();
            Console.WriteLine(num);
            switch (num)
            {case 1:
            Console.WriteLine(one);

我正在尝试做一个c#项目,在其中键入1到100之间的数字,然后看到它的书面版本。

2 个答案:

答案 0 :(得分:1)

变量num是一个字符串。但是您正在尝试将其与整数进行比较:

case 1:

最快的解决方案是将其与字符串进行比较:

case "1":

或者,作为对您的学习经验,您可能想要尝试将num转换为int。看看int.TryParse。一个示例可能看起来像这样:

string num = Console.ReadLine();
int numValue = 0;
if (!int.TryParse(num, out numValue)) {
    // The value entered was not an integer.  Perhaps show the user an error message?
}

答案 1 :(得分:-1)

您提到只想打印1到100之间的数字。 这个版本可以做到这一点。

var consoleResponse = Console.ReadLine();

if (int.TryParse(consoleResponse, out int parsedValue) 
        && parsedValue >= 1 
        && parsedValue <= 100) {
    Console.WriteLine(parsedValue);
}