1)
class Program
{
static void Main(string[] args)
{
int a;
a = Convert.ToInt32( "a" );
Console.Write(a);
}
}
Run Code Online (Sandbox Code Playgroud)
I get FormatException with message: Input string was not in a correct format. and this is quite understood.
2)
class Program
{
static void Main(string[] args)
{
int a;
a = Convert.ToInt32( Console.Read() );
Console.Write(a);
}
}
Run Code Online (Sandbox Code Playgroud)
In second case, I can type any characters, for example abc and it displayed in console.
问题:为什么不抛出FormatException第二种情况以及为什么它可以成功使用非int字符?
UPDATE
with Console.ReadLine()method,返回string类型,也没有FormatException在控制台中成功地打印和打印任何字符.
class Program
{
static void Main(string[] args)
{
int a;
a = Convert.ToInt32(Console.ReadLine());
Console.Write(a);
}
}
Run Code Online (Sandbox Code Playgroud)
因为输出Console.Read()是int.这意味着它获得了你输入内容的int表示,所以如果你输入字符,它实际上得到了那个字符的int表示,一切都很好.
要了解详细情况:
int a;
a = Convert.ToInt32(Console.Read()); //input for example: abc
Console.WriteLine(a); //97
Console.WriteLine((char)a); //a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |