Console.Write("Write a number: ");
try
{
int Number = Convert.ToInt32(Console.ReadLine());
}
catch ( OverflowException )
{
Console.WriteLine("Number to big");
}
TellLastNumber(Number);
它说'数字'在当前上下文中不存在。 如何制作int' Number'在main()中到处使用?
答案 0 :(得分:5)
如何在main()中使用int'Number'?
只需将变量Number
的声明移到main()
的范围内,它就可以从该点到函数末尾。
Console.Write("Write a number: ");
int Number = 0;
try
{
Number = Convert.ToInt32(Console.ReadLine());
}
catch ( OverflowException )
{
Console.WriteLine("Number to big");
}
TellLastNumber(Number);
答案 1 :(得分:3)
要消除错误,您必须在try块外部定义Number
并为其指定一些默认值。
int Number = 0;
try
{
int Number = Convert.ToInt32(Console.ReadLine());
}
catch ( OverflowException )
{
Console.WriteLine("Number to big");
}
TellLastNumber(Number);
但更重要的是使用int.TryParse
,如果传递给它的数字不是int,则不会引发异常。
int Number;
if (!int.TryParse(Console.ReadLine(), out Number))
{
Console.WriteLine("Invalid number");
}
TellLastNumber(Number);
您收到错误,因为编译器无法在Number
范围之外看到try
。