在上下文之外的尝试中使用 int

本文关键字:int 上下文 | 更新日期: 2023-09-27 18:19:58

Console.Write("Write a number: ");
            try
            {
                int Number = Convert.ToInt32(Console.ReadLine());
            }
            catch ( OverflowException )
            {
                Console.WriteLine("Number to big");
            }
            TellLastNumber(Number);

它说"数字"在当前上下文中不存在。如何使 int 'Number' 在 main(( 中随处使用?

在上下文之外的尝试中使用 int

如何使 int 'Number' 在 main(( 中随处使用?

只需将变量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);

要消除错误,您必须在 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);

您收到错误,因为编译器看不到try范围之外的Number