为什么不能将 Console.ReadLine 转换为 int 槽 Convert.ToInt

Why can't you convert Console.ReadLine to int trough Convert.ToInt

所以我刚开始编写代码,发现这里的这个示例不起作用,但使用 int.TryParse() 它会起作用。否则 Convert.Byte() 它也可以工作。那是什么背景?

using System;

namespace timezones
{
    class Program
    {
        static void Main(string[] args)
        {
            int timeSwitzerland = Convert.ToInt(Console.ReadLine());

        }
    }
}

因为我经常看到这种情况,所以我会 post 官方 string to number conversion guide

You can convert a string to a number by calling the Parse or TryParse method found on the various numeric types (int, long, double, and so on), or by using methods in the System.Convert class.

The Convert.ToInt32 method uses Parse internally. The Parse method returns the converted number;

在这两种情况下,您都可以有效地使用 Int.Parse

现在你的情况是Convert.ToInt{Enter extected integer size}: