Kezdőoldal » Számítástechnika » Programozás » C#-ban hogyan tudok egy...

Feta kérdése:

C#-ban hogyan tudok egy string tömbből egy elemet kivenni?

Figyelt kérdés
Az alap koncepció, az az, hogy egy olyan programot írjak, amivel a karácsonyi húzást meg lehet oldani. Rányom a gombra, kiír neki egy nevet, kövi. Viszont nem tudom megoldani, hogy a ne legyenek benne az előbb kihúzott nevek. Próbáltam List<string> nevek és akkor onnan nevek.Remove(), de ez sem működött.

2020. dec. 11. 00:07
 1/8 anonim ***** válasza:
76%
LINQ
2020. dec. 11. 08:22
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
A using system.Linq; névtárra gondolsz? Természetesen benne van
2020. dec. 11. 09:23
 3/8 anonim ***** válasza:
100%

É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#.

2020. dec. 11. 12:35
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
100%
LINQ még mindig. Legegyszerűbb. Generálsz egy random egész számot, ha véletlenszerűen akarod és onnan meg 1 sor az egesz. A listán meg LINQ lekérdezést használsz és a feltétel a véletlen szám lesz, és az első találatot adja vissza. A feltételbe mehet lambda is.
2020. dec. 11. 14:11
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
A véletlen szám generálása meg lehet egy külön függvény és azt hívod meg a feltétel adásnál.
2020. dec. 11. 14:12
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

1 sor:


var veletlenelem=listaNev[rand.Next(listaNev.Count)];


Vagy:

Random rnd = new Random();

var veletlenElem = lista.FirstOrDefault(x=>rnd.Next());

2020. dec. 11. 14:21
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Köszönöm a válaszokat
2020. dec. 12. 00:17
 8/8 EgyGabor ***** válasza:
Tömb helyett lista és abból símán ki tudod venni amit ki kell.
2020. dec. 13. 07:27
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!