Kingston_Pendrive/Suli/13.b/Programozás (Tusjak Brigitta)/Elmélet/2024. 09. 13.txt

23 lines
2.5 KiB
Plaintext
Raw Normal View History

2024-11-19 18:04:02 +00:00
A lambda kifejezés szintaxisa látható módon jelen esetben sokkal egyszerűbb, mivel csak azt kell megadnunk, hogy mi szerint rendezünk csoportba, az eredmény pedig már a csoportok sorozata lesz. Egy csoport egy kulcsból (Key) és az elemekből áll. A kulcs a csoportosítási változó típusát veszi fel, az elemek pedig a kiválasztási elemek lesznek. A példából látható, hogy a csoportok bejárásához két foreach ciklus szükséges.
A join műveleteknek több fajtája van. Objektumok esetén legkönnyebben az inner join művelet valósítható meg. Ez két típus metszetét jelenti.
A példában látható módon az összekapcsolás első lépése a szokásos változó hivatkozás az első kollekcióból, majd jön a join kulcsszó, ami után szintén egy változót hivatkozunk be a második kollekcióból. Ezután meg kell adni az összekapcsolási feltételt. Ezt az on után kell megtenni. Jelen esetben itt az a feltételünk, hogy az Y változóknak meg kell egyeznie. Az összekapcsoláshoz minden esetben valamiféle egyenlőségre kell visszavezetnünk a feltételt. A feltétel közepén az Equals kulcsszónak kell állnia.
Lambda szintaxis esetén a Join metódus első paramétere a kapcsolni kívánt kollekció. Ezt követi két összekapcsolási kulcs kiválasztás. Az első kiválasztás az első kollekcióra érvényes, amin hívtuk a Join metódust, a második pedig a kapcsolni kívánt kollekcióra érvényes. Az utolsó paraméter pedig az eredmény leképezést valósítja meg.
LINQ Sorozat és elem műveletek
A most következő műveletek csak lambda esetében használható:
Kihagyás és megadott számú elem kiválasztása:
Ha elemeket szeretnénk kihagyni egy kollekcióból, akkor a Skip(), metódust alkalmazhatjuk. Ennek paramétereként a kihagyandó elemek számát kell megadnunk. Ha pedig csak egy adott mennyiségű elemet szeretnénk kiválasztani, akkor a Take() metódust alkalmazhatjuk. Ennek paramétere szintén egész szám, ami a kiválasztandó elemek számát adja meg. Mindkét metódus esetén, ha kifutna az eredeti kollekció méretéből, akkor egy üres kollekciót kapunk.
First(): Az első elemet adja vissza. Ha nincs, akkor hibát dob.
FirstOfDefault(): Az első elemet adja vissza. Ha nincs, akkor egy alapértelmezett értéket ad vissza.
ElementAt(): A kollekció egy adott elemét adja vissza. Bemenetként az elem sorszámát várja, és hibát dob, ha nem létezik a megadott sorszámmal elem.
var eredmeny = elemek.FirstOrDefault(i => i.Y == 99)
var eredmeny2 = elemek.Last(i => i.Y == 1)