Új hozzászólás Aktív témák

  • trisztan94

    őstag

    Hali,

    Van egy listám, benne szavak. Az a feladat, hogy x másodpercenként kiírok a képernyőre egy random szót a listából, majd eltüntetem. Ez addig folytatódik, amíg el nem "fogynak" a szavak. Egy szó csak egyszer jelenhet meg a képernyőn.

    Erre én a következő megoldást alkalmaztam:

    List<string[]> words, addedWords = new List<string[]>();
    Random r = new Random();
    int index = r.Next(0, words.Count - 1);

    wordOutput.Text = words[index];
    addedWords.Add(words[index]);

    Tehát miután kiírtam a szót, berakom az addedWords listába a dolgot.

    Ez az ellenőrzés, ami ellenőrzi, hogy benne van-e az adott szó az addedWords listában, azaz ki lett-e már írva:

    bool isInAddedwords = addedWords.Intersect(words).Any();
    if (!isInAddedwords)
    {
    // Fenti kód.
    }
    else
    {
    // Meghívom újra ezt a metódust, hogy új random index legyen, megnézzük azzal.
    }

    Na most szerintem ez így ronda és túl van bonyolítva. Van erre egy egyszerűbb és szebb megoldás?

Új hozzászólás Aktív témák

Hirdetés