Programozási ismeretek haladóknak-2/19C
89
Programozási ismeretek haladóknak-2/19C
Érték és hivatkozás típusú változók Lista hivatkozás típusú elemekkel (például halmaz, lista) Lista érték típusú elemekkel (például struktúra) Házi feladat Olvasd el: Kollekciók alkalmazása/Struktúrák/Kollekciókat tartalmazó struktúra Oldd meg: Kollekciók alkalmazása/Struktúrák/Alma, Verseny Megjegyzés Ha egy struktúra tartalmaz lista típusú mezőt, akkor ennek kezelése nagyon hasonló a tömb típusú mezőkhöz [lásd a 33. D) videót a Programozási ismeretek-3 lejátszási listában]. Arra ügyelj, hogy a struktúraváltozó deklarálása után létre kell hozni a listát! Ha például a struktúrákat tömbben tároljuk: Structure TDiák Dim Név As String Dim Jegyek As List(Of Integer) ' itt nem szerepelhet a New operátor, mert a Structure egy típus definíciója End Structure Dim Diákok(100) As TDiák For I=1 To 100 Diákok(I) = New List(Of Integer) ' a cikluson belül kell létrehozni a listákat! Next A listák először üresek. Bővítésük például: Diákok(50).Jegyek.Add(5) Ugyanez listában tárolt struktúrákra: Dim Diákok As New List(Of TDiák) Dim Diák As TDiák ' segédváltozó (mivel érték típusú, nem kell a ciklusban létrehoznunk) For I=0 To 99 Diákok.Add(New TDiák) ' a listaelemet hozza létre ' Egy listaelem mezőjét közvetlenül nem módosíthatjuk, ezért segédváltozót használunk: Diák.Jegyek = New List(Of Integer) ' a ciklusban kell létrehozni az aktuális diák Jegyek listáját! Diákok(I) = Diák Next Egy jegy hozzáadása például (a Jegyek hivatkozás típusú változó, ezért közvetlenül elérjük és módosíthatjuk): Diákok(49).Jegyek.Add(5)
More