中使用未分配的变量

中使用未分配的变量

我的任务是制作一个要订购披萨的程序。我给了用户两个单选按钮以选择大小(大6 $,X-Large $ 12),并给了四个单选按钮以选择浇头的数量(1、2、3、4)。我想出了一个方程,它将计算含税的成本(C = 1.13(0.75(x-1)+1)+ S,x是浇头,S是大小)。

我的问题是,一旦我尝试对公式进行编码,它就会说在倒数第二行中使用未分配的变量numbToppings和size会出错。

关于为什么发生这种情况以及如何解决的任何想法。

        const double taxes = 1.13;
        const double toppings = 0.75;
        double size;
        double numToppings;
        double costInitial;
        double costTotal;

        if (radLarge.Checked == true)
        {
            size = 6;
        }

        else if (radXLarge.Checked == true)
        {
            size = 12;
        }

        if (rad1.Checked == true)
        {
            numToppings = 1;
        }

        else if (rad2.Checked == true)
        {
            numToppings = 2;
        }

        else if (rad3.Checked == true)
        {
            numToppings = 3;
        }

        else if (rad4.Checked == true)
        {
            numToppings = 4;
        }

        costInitial = ((toppings * numToppings - 1) + 1) + size;
        costTotal = taxes * costInitial;

最佳答案

简单做到这一点

double numToppings = 0;

将其设置为零。

原因:您正在对numToppings进行一些计算,并且编译器不够智能,无法确定您已处理了所有可能的条件,并且无论如何都会初始化numToppings

有关更多信息,请阅读Strange behaviour of switch case with boolean value

关于c# - C#在数学表达式中使用未分配的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19261538/

10-10 02:37