c#控制台应用程序取消分配的局部变量

本文关键字:局部变量 分配 取消 控制台 应用程序 | 更新日期: 2023-09-27 18:01:33

        int ValueOne, ValueTwo, Numchar, Total;
    Console.WriteLine("This Is A Program For doing any Of the four mathematical Proccesses");
    Console.WriteLine("You can Add , substract , Divide And Multiply");
    Console.WriteLine("When Asked Please Type The Values Or The Proccesses You Want.");
    Console.WriteLine("Please Type The First Value");
    ValueOne = Convert.ToInt32((Console.ReadLine()));
    Console.WriteLine("Please Type The Second Value");
    ValueTwo = Convert.ToInt32((Console.ReadLine()));
    Console.WriteLine("Please Enter The Number Of The Proccess/Character You Want Meaning That (1 = +) , (2 = -) , (3 = *) , (4 = /)");
    Numchar = Convert.ToInt32((Console.ReadLine()));
    if (Numchar == 1)
        Total = ValueOne + ValueTwo;
    if (Numchar == 2)
        Total = ValueOne + ValueTwo;
    if (Numchar == 3)
        Total = ValueOne * ValueTwo;
    if (Numchar == 4)
        Total = ValueOne / ValueTwo;
    Console.WriteLine("The Total Is :");
    Console.WriteLine(Total);
    Console.ReadLine();

Console.WriteLine(总);最后显然是一个未分配的局部变量,虽然它应该从"If"行下面的行分配,也请注意,我是新的visual studio,我刚刚开始参加课程,也,我不认为这是一个重复,因为其他帖子的修复没有为我工作。

c#控制台应用程序取消分配的局部变量

假设您的代码没有产生错误,并且编译并运行了。如果NumChar不是1234,你认为会发生什么?

您的代码永远不会到达if中的任何语句,并且永远不会为Total分配初始值。由于对于您的程序来说,这是完全可能的(并且通常不可能检查——参见停机问题),因此该错误是有根据的,并且是必要的。