4. Alkalom: Generikus Gyűjtemények és LINQ
Elméleti összefoglaló
A negyedik alkalommal a több adat hatékony tárolásával és lekérdezésével foglalkoztunk.
- List<T>: Dinamikusan méretezhető tömb, amely sorrendben tárolja az elemeket.
- HashSet<T>: Olyan gyűjtemény, amely csak egyedi elemeket tartalmazhat (halmaz).
- Dictionary<K, V>: Kulcs-érték párok tárolása, ideális statisztikákhoz.
- LINQ: Deklaratív lekérdező nyelv gyűjteményekhez (szűrés, rendezés, összegzés).
Példakód: LINQ és Dictionary használata
using System.Linq;
// Összegzés LINQ-val
int osszpont = versenyzok.Sum(v => v.Pontszam);
// Legjobb elem megkeresése
var legjobb = csapatok.OrderByDescending(cs => cs.PontszamOsszesen()).First();
// Statisztika Dictionary-vel
var stat = new Dictionary<string, int>();
foreach (var v in versenyzok) {
string o = v.Orszag.ToLower();
if (stat.ContainsKey(o)) stat[o]++;
else stat[o] = 1;
}
Gyakorlat: Lottó Program
Megvalósítottunk egy érvényes lottószelvény generátort, amely HashSet segítségével biztosította, hogy ne legyen számismétlődés a kihúzott számok között.