在C#中读取整数的替代方法

zoh*_*ent -3 c# inputstream input type-conversion beginread

我知道通过使用Convert.To方法读取输入,但除此之外还有什么方法可以阅读.

int k = Convert.ToInt16(Console.ReadLine()); 
Run Code Online (Sandbox Code Playgroud)

Ste*_*eve 5

从控制台应用程序读取输入的最简单方法是Console.ReadLine.有可能的替代方案,但它们更复杂并且保留用于特殊情况:请参阅Console.ReadConsole.ReadKey.

什么是多么重要的是转换为一个整数不应使用完成Convert.ToInt32Int32.ParseInt32.TryParse

int k = 0;
string input = Console.ReadLine();
if(Int32.TryParse(input, out k))
    Console.WriteLine("You have typed a valid integer: " + k);
else
    Console.WriteLine("This: " + input + " is not a valid integer");
Run Code Online (Sandbox Code Playgroud)

使用的原因Int32.TryParse在于您可以检查是否可以转换为整数.相反,其他方法会引发一个异常,您应该处理复杂的代码流.