需要帮助刽子手C#

本文关键字:刽子手 帮助 | 更新日期: 2023-09-27 17:57:15

当我尝试运行时,它说:

System.Collections.Generic.List"不包含"Length"

的定义,并且找不到接受类型为"System.Collections.Generic.List"的第一个参数的扩展方法"Length"(您是否缺少使用指令或程序集引用?

这指向在案例"3"中编写的代码。我使用谷歌并尝试阅读书中的内容,但我似乎找不到解决方案。

    static void Main (string[] args)
    {           
        char meny;// För att kunna göra menyval.            
        string s;// Ordet som spelaren kommer skriva in.
        List<string> dinaord = new List<string> { "Varg", "Apor", "Besvärad", "Människor", "Komplettering" };// Array för spelarens ord, samt mina egna.
        bool visameny = true; // visameny blir tilldelat true.
        Console.WriteLine("'n't'tHejsan, och välkommen till Hänga Gumma!");
        do// Återvänder till menyn så länge den är true.
        {
            Console.WriteLine("'n'n  1) Lägga till ord");
            Console.WriteLine("'n  2) Lista alla ord");
            Console.WriteLine("'n  3) Spela");
            Console.WriteLine("'n  4) Avsluta");// Visar 1-4, samt vad varje nummer leder till.
            Console.WriteLine("'n'n  Välj 1-4");
            meny = Convert.ToChar(Console.ReadLine());// Konverterar det spelaren väljer till "meny".
            switch (meny)// Switchen börjar.
            {
                case '1':
                    Console.Write("'nLägg till ord:");
                    dinaord.Add(Console.ReadLine());// Låter spelaren slå in ord och sparar dem i en array. Ändrade till en Console.ReadLine.                                                                       
                    break;
                case '2':// Mina egna ord.
                    dinaord.Sort();// Flyttade sorteringen hit, för att få den till att sortera orden när man trycker två.   
                    Console.Write("'nHär visas dina ord!'n");
                    int i = 1;
                    foreach (string ord in dinaord)// Löste detta med hjälp av dina anvisningar att titta igenom kapitlet igen och försöka olika koder.
                    {
                        Console.Write(ord + " ");// Här visas spelarens ord, (om dem har lagt till några) samt mina egna ord.
                    }
                    break;
                case '3':// Här ska spelet starta.
                    int antalchanser;// antalchanser görs om till en int för att senare jämföras.
                    int felgissningar = 0;// felgissningar görs om en till en int, och får värdet 0, för att senare jämföras med antalchanser och kommer att leda till att spelet avslutas om felgissningar blir lika med antalchanser.
                    Console.Write("'nHur många fel får man ha?");
                    antalchanser = Convert.ToInt32(Console.ReadLine());// Gör så att det spelaren skriver in blir till "antalchanser".
                    Console.Write("'nFelgissningar:0/" + antalchanser);// Visar antal felgissningar.
                    Console.Write("'nGissa ett ord:");
                    s = Convert.ToString(Console.ReadLine());// Ordet som ska sökas efter. 
                    int o;
                    for (o = 0; o < dinaord.Length; o++)// Söker igenom arrayn dinaord och jämförs med det spelaren har skrivit in.
                        if (dinaord[o] == s)
                        {
                            Console.WriteLine("'nGrattis du gissa rätt!" + dinaord[o] +
                                " var det hemliga ordet ");
                            break;// Bryter satsen om dem gissar rätt.
                        }
                    if (o == dinaord.Length)
                    { 
                        Console.WriteLine("'nDu gissa fel!");                        
                    felgissningar++;// Lägger till +1 på felgissningar om dem gissar fel.
                    }
                    if (felgissningar == antalchanser)// Jämför felgissningar med antalchanser.
                    {    
                        Console.WriteLine("'nDu har inga chanser kvar! Tack för att du spelade Michaels ofulländade version!");
                        visameny = false;// visameny blir false, avbryter spelet om antalchanser tar slut.
                    }
                    if (felgissningar != antalchanser)// Kollar om felgissningar inte är lika med antalchanser.
                    {
                        Console.WriteLine("'nGissa igen:");
                    }
                        break;
                case '4':
                    {
                        Console.WriteLine("'nSpelet avslutas!");
                        Console.WriteLine("'nTack för att du spelade Michael´s ofulländade version!");
                        visameny = false;// visameny blir false, avbryter spelet.
                    }
                        break;
                default:// Ifall annat än 1-4 knappas in, visas detta.
                        Console.WriteLine("'n'tDu får inte trycka på den!" +
                        "'n'tAnvänd bara det som står på skärmen: 1-4");
                        break;

            }// Switchen slutar.

        } while (visameny == true);// Fortsätter loopen så länge den är true.
    }
}

}

需要帮助刽子手C#

List不是数组。本机数组(string[])具有Length属性,但List<T>具有Count属性。所以你只需要:

for (o = 0; o < dinaord.Count; o++)

猜你正在寻找dinoard.Count而不是长度。您也可以像案例"2"一样使用 foreach,您似乎对此感到满意。