C#-ban hogyan tudok egy string tömbből egy elemet kivenni?
Én azt csinálnám, hogy egy List<string> lenne a neveknek, egy másik List<int> pedig indexeknek.
A Random class Next() metódusával generáltatnék random egész számot a 0 és a nevek lista hossza között.
myRandom.Next(0, names.Length);
Ez jó, mert max a második paraméter - 1 számot ad vissza, így nincs túlindexelés.
Eltárolnám az int listában.
A következőket már úgy generálnám, hogy megnézném, hogy a random által adott index szerepelt-e már. While ciklus (vagy ide inkább do-while), addig generáltatok, míg végre újat nem ad.
do
{
..... int index = myRandom.Next(0, names.Length);
} while (!indexes.Contains(index));
indexes.
Add(index);
string currentName = names[index];
Remélem, nem értem félre a feladatot illetve nem teljes káosz, ahogy leírtam.
Meg hibák is lehetnek benne, mert csak jelenleg 5 nyelvet tanulok az egyetemen, a munkahelyemen egy kis C# van, hobbiprojektem pedig TypeScript és C#.
1 sor:
var veletlenelem=listaNev[rand.Next(listaNev.Count)];
Vagy:
Random rnd = new Random();
var veletlenElem = lista.FirstOrDefault(x=>rnd.Next());
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!