P47 小练习
csharp
//要求用户输入一个数字
//我们打印出这个数字的两倍
//当用户输入end的时候,程序退出
string num
while (true)
{
Console.WriteLine("请输入一个数字");
var input = Console.ReadLine();
if (input != "end")
{
try
{
var num = Convert.ToDouble(input);
Console.WriteLine("你输入的数字的两倍是 {0}", num * 2);
}
catch (System.FormatException e)
{
Console.WriteLine(e.Message);
}
}
else
{
Console.WriteLine("你输入了end,程序退出");
break;
}
}
你最初的代码问题不是字符串转换没学好,是 num
类型为 string
,num = Convert.ToDouble(...)
将 double
赋值给 num
,类型不匹配,报错。
catch
语句后不加限定,表示捕获所有异常,尽量避免,使用更精确的异常类型。
知其然还得知其所以然啊,遇到错误的地方要搞清楚原因,不要模棱两可地理解