- Honor 200 Pro - mobilportré
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Telekom mobilszolgáltatások
- One mobilszolgáltatások
- Milyen okostelefont vegyek?
- Privát Samsung funkciót tehet az Apple publikussá
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- iPhone topik
- OnePlus 15 - van plusz energia
- Motorola Moto G77 - kis motor, nagy karosszéria
Új hozzászólás Aktív témák
-
C^^
őstag
Sziasztok,
Egy kis segítséget szeretnék kérni.
Adott egy generikus, egyirányú láncolt lista, amit be kéne járni foreach ciklussal.
Ehhez ugyebár a listának implementálnia kell az IEnumerable interfészt, amihez kell egy "felsoroló" generikus osztály, ami implementálja az IEnumerator-t (generikus formában).Ez idáig rendben is van, meg is írtam a "felsoroló" osztályt, illetve a listában implementálva van az IEnumerable interfész, hibát sem dob a fordító, viszont futásnál a foreach-t mintha egyszerűen átugraná a program.
Így néz ki a "bejáróm":
class ListaBejáró<T>:IEnumerator<T>
{
ListaElem<T> elso, akt;
public ListaBejáró(ListaElem<T> elso)
{
this.elso = elso;
akt = null;
}
public T Current
{
get { return akt.Adat; }
}
public void Dispose()
{
elso = null;
akt = null;
}
object System.Collections.IEnumerator.Current
{
get { return this.Current; }
}
public bool MoveNext()
{
if (akt==null)
{
akt = elso;
return false;
}
else
{
akt = akt.KovetkezoElem;
return true;
}
}
public void Reset()
{
akt = null;
}
}Így pedig az IEnumerable implementáció:
public IEnumerator<T> GetEnumerator()
{
ListaBejáró<T> bejaro = new ListaBejáró<T>(ElsoElem);
return bejaro;
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}ListaElem<T> objektumokból áll maga a láncoltlista. Az objektumnak van "Adat" mezője, és egy referenciája a következő elemre "KovetkezoElem" néven.
Magának a listának van egy "ElsoElem" mezője, ami értelemszerűen a lista első elemét jelöli.
Mi lehet a hiba?
Előre is köszönöm.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Beleremegett Hollywood Brad Pitt és Tom Cruise AI harcába
- Gumi és felni topik
- Battlefield 6
- Proton Pass topik
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- Tőzsde és gazdaság
- Honor 200 Pro - mobilportré
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Felzárkóztatná a HDD-ket az SSD-khez a Western Digital
- További aktív témák...
- Akciós! PC , 14100F , RTX 3080 , 16GB RGB , 512GB NVME , 500GB HDD
- Xiaomi 14T Pro 1TB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! R7 5700 / RTX 2080Ti 11GB / 16GB DDR4 / 1TB Nvme SSD
- ADATA (1x32GB) DDR5 4800MHz CL40 - 120 hó garancia
- Lenovo IdeaPad 3 - 15,6" Full HD - AMD Athlon Silver 3050U - 4GB - 512GB SSD - Win10 PRO - MAGYAR
- HIBÁTLAN iPhone 15 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4443
- Dell Latitude E6410 i5 M560, Nvidia NVS 3100M 512MB GDDR3, 4Gb RAM, 250GB HDD, jó akku, számla gar
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple Watch Series 9/Apple Watch Ultra/Apple Watch Ultra 2
- Keresünk Galaxy S21/S21+/S21 Ultra/S21 Fe
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


