C# 无法将所选项目保存在数组的第一个位置

C# 无法将所选项目保存在数组的第一个位置,c#,arrays,if-statement,C#,Arrays,If Statement,我无法将输入保存到数组中,因此当我输入所有答案,并想查看数组中的内容时,所有点都是空的。这就是自从我把if语句放在那里之后发生的事情。如果删除If语句,输入将保存在数组中,但它将丢失第一个输入,因此24个答案中有23个答案 我也试着写了一个else语句,但缺少的那个语句也有同样的问题,如果我删除整个if语句也是一样的 { if (numberOfBottles < 24) { Console.WriteLine("");

我无法将输入保存到数组中,因此当我输入所有答案,并想查看数组中的内容时,所有点都是空的。这就是自从我把if语句放在那里之后发生的事情。如果删除If语句,输入将保存在数组中,但它将丢失第一个输入,因此24个答案中有23个答案

我也试着写了一个else语句,但缺少的那个语句也有同样的问题,如果我删除整个if语句也是一样的

    {


        if (numberOfBottles < 24)
        {
            Console.WriteLine("");
            Console.WriteLine("Write what sodas u want in the crate:"); // Skriver ut text och ber användaren skriva drycken. 

            int soda_input = 0;

            string chosenSoda = "";
            do
            {

                Console.WriteLine("1: Coca-cola"); // skriver ut alternativen för flaska
                Console.WriteLine("2: Fanta");
                Console.WriteLine("3: Pepsi");
                Console.WriteLine("4: Beer");
                Console.WriteLine("5: Redbull");
                Console.WriteLine("6: Cider");
                Console.WriteLine("7: Water");


                try
                {
                    soda_input = int.Parse(Console.ReadLine());
                }
                catch (Exception e)
                {
                    Console.WriteLine("Just numbers, my friend");
                    continue;
                }

                if (chosenSoda == null)**
                {
                    crate[numberOfBottles] = chosenSoda; // lagrar svaren i min vektor
                } THIS IS THE IF-STATEMENT THAT IS MESSING EVERYTHING UP

                numberOfBottles++;  // för varje svar jag skriver så ökar det med 1 i vektorn hela vägen till 24

                switch (soda_input) // Skapar en meny, som skriver ut vilken dryck användaren väljer tills backen blir full.
                {

                    case 1:
                        chosenSoda = "Coca-Cola";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Coca-Cola");
                        Console.WriteLine("-------------------");
                        break;

                    case 2:
                        chosenSoda = "Fanta";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Fanta");
                        Console.WriteLine("-------------------");
                        break;

                    case 3:
                        chosenSoda = "Pepsi";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Pepsi");
                        Console.WriteLine("-------------------");
                        break;

                    case 4:
                        chosenSoda = "Öl";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Öl");
                        Console.WriteLine("-------------------");
                        break;

                    case 5:
                        chosenSoda = "Redbull";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Redbull");
                        Console.WriteLine("-------------------");
                        break;

                    case 6:
                        chosenSoda = "Cider";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Cider");
                        Console.WriteLine("-------------------");
                        break;

                    case 7:
                        chosenSoda = "Vatten";
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Du valde Vatten");
                        Console.WriteLine("-------------------");
                        break;


                    default: // om man skriver siffror ovanför 1-7 så skrivs detta ut.
                        Console.WriteLine("-------------------");
                        Console.WriteLine("Siffor mellan 1-7 min vän");
                        Console.WriteLine("-------------------");
                        break;
                }

            } while (numberOfBottles != 24);

        }
        else
            Console.WriteLine("");
        Console.WriteLine("The crate is full, choose some of the alteratives to check the crate:");
        Console.WriteLine("");


    }
{
如果(瓶数<24)
{
控制台。写线(“”);
Console.WriteLine(“在板条箱中写下你想要的苏打水:”);//Skriver ut text och ber an vändaren skriva drycken。
int soda_输入=0;
字符串chosenSoda=“”;
做
{
Console.WriteLine(“1:可口可乐”);///skriver ut alternative för flaska
控制台。WriteLine(“2:Fanta”);
控制台。WriteLine(“3:百事”);
控制台。WriteLine(“4:啤酒”);
控制台。WriteLine(“5:红牛”);
控制台。WriteLine(“6:苹果酒”);
控制台。写线(“7:水”);
尝试
{
soda_input=int.Parse(Console.ReadLine());
}
捕获(例外e)
{
WriteLine(“只是数字,我的朋友”);
继续;
}
if(chosenSoda==null)**
{
板条箱[NumberOfBaggles]=chosenSoda;//lagrar svaren i min vektor
}这就是把一切都搞砸的IF-STATEMENT
NumberOfVarje svar jag skriver såkar det med 1至24岁
开关(soda_输入)//Skapar en meny,som skriver ut vilken dryck användaren väljer tills backen blir full。
{
案例1:
chosenSoda=“可口可乐”;
Console.WriteLine(“------------------------”;
Console.WriteLine(“杜瓦尔德可口可乐”);
Console.WriteLine(“------------------------”;
打破
案例2:
chosenSoda=“Fanta”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“Du valde Fanta”);
Console.WriteLine(“------------------------”;
打破
案例3:
chosensorda=“百事”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“杜瓦尔德百事”);
Console.WriteLine(“------------------------”;
打破
案例4:
chosenSoda=“Öl”;
Console.WriteLine(“------------------------”;
控制台写入线(“Du valdeÖl”);
Console.WriteLine(“------------------------”;
打破
案例5:
chosenSoda=“红牛”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“Du valde Redbull”);
Console.WriteLine(“------------------------”;
打破
案例6:
chosenSoda=“苹果酒”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“杜瓦尔德苹果酒”);
Console.WriteLine(“------------------------”;
打破
案例7:
chosenSoda=“Vatten”;
Console.WriteLine(“------------------------”;
控制台。WriteLine(“Du valde Vatten”);
Console.WriteLine(“------------------------”;
打破
默认值://om man skriver SIFFOR ovanför 1-7 såskrivs detta。
Console.WriteLine(“------------------------”;
Console.WriteLine(“Siffor mellan 1-7分钟vän”);
Console.WriteLine(“------------------------”;
打破
}
}while(瓶数!=24);
}
其他的
控制台。写线(“”);
Console.WriteLine(“板条箱已满,请选择一些选项来检查板条箱:”;
控制台。写线(“”);
}

编辑:“Du valde,在瑞典语中表示你选择了.。

你在选择任何东西之前分配了数组值

此外,如果输入无效,您可能希望将它们保留在循环中,而不指定值

要做到这一点,您可以在切换之后,但在while语句之前移动if To。通过检查not equal(!=)To null(我认为永远不会是),同时检查not equal To“”,您可以强制他们保持在当前瓶子上并继续输入,直到他们做出有效的选择

试试这个:

do
        {

            Console.WriteLine("1: Coca-cola"); // skriver ut alternativen för flaska
            Console.WriteLine("2: Fanta");
            Console.WriteLine("3: Pepsi");
            Console.WriteLine("4: Beer");
            Console.WriteLine("5: Redbull");
            Console.WriteLine("6: Cider");
            Console.WriteLine("7: Water");


            try
            {
                soda_input = int.Parse(Console.ReadLine());
            }
            catch (Exception e)
            {
                Console.WriteLine("Just numbers, my friend");
                continue;
            }

            switch (soda_input) // Skapar en meny, som skriver ut vilken dryck användaren väljer tills backen blir full.
            {

                case 1:
                    chosenSoda = "Coca-Cola";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Coca-Cola");
                    Console.WriteLine("-------------------");
                    break;

                case 2:
                    chosenSoda = "Fanta";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Fanta");
                    Console.WriteLine("-------------------");
                    break;

                case 3:
                    chosenSoda = "Pepsi";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Pepsi");
                    Console.WriteLine("-------------------");
                    break;

                case 4:
                    chosenSoda = "Öl";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Öl");
                    Console.WriteLine("-------------------");
                    break;

                case 5:
                    chosenSoda = "Redbull";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Redbull");
                    Console.WriteLine("-------------------");
                    break;

                case 6:
                    chosenSoda = "Cider";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Cider");
                    Console.WriteLine("-------------------");
                    break;

                case 7:
                    chosenSoda = "Vatten";
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Du valde Vatten");
                    Console.WriteLine("-------------------");
                    break;


                default: // om man skriver siffror ovanför 1-7 så skrivs detta ut.
                    Console.WriteLine("-------------------");
                    Console.WriteLine("Siffor mellan 1-7 min vän");
                    Console.WriteLine("-------------------");
                    break;
            }

 if (chosenSoda != null && chosenSoda != "")
            {
                crate[numberOfBottles] = chosenSoda; // lagrar svaren i min vektor
            numberOfBottles++;
            }

        } while (numberOfBottles != 24);

您已经对null进行了检查,如果chosedSoda不为null,则代码将不会进入内幕
if(chosenSoda==null)**{cratet[numberofflags]=chosenSoda;//lagrar svaren i min vektor}
我想你应该把它放进去!=你可能想在决定了所选内容后将值分配给数组。非常感谢你。上帝保佑你,正如你所看到的,我是新手