Hirdetés
- daninet: Automatikusan fordított magyar feliratok AI segítségével
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- gerner1
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- Geri Bátyó: Agglegénykonyha különkiadás 2 – Kajás poénok
- mefistofeles: Az elhízás nem akaratgyengeség! 2 Ahogy én csinálom.......
Ú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!
- Hardcore café
- One otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Autós topik
- Yettel topik
- Szerkesztett és makrofotók mobillal
- OLED monitor topic
- Chieftec-Prohardver nyereményjáték
- BestBuy topik
- Apple iPhone 17 Pro Max – fennsík
- További aktív témák...
- Ultra 2
- Professzionális gamer pc...!
- Dell Latitude 5430 / 12GEN Core i7 / 16gb RAM / 256gb NvMe ssd / win11 / Világitó Bill
- új HP Pavilion 16" fémházas - AMD Ryzen 5 8540U - 16GB DDR5 - 512GB SSD - gyári gari 2028-ig
- ASUS ROG Raikiri Pro OLED kijelzős prémium kontroller (Garanciás: 2026.12.09. Oázis Computer)
- HP EliteDesk 800 G3 (USDT), i5-6500T, 8GB DDR4,128GB SSD,WIN11
- Veszünk: PS5 Fat/Slim/Digital/Pro konzolt, játékokat, Portalt stb. Kérj ajánlatot!
- Apple iPhone 13 Pro 128GB,Átlagos,Dobozaval,12 hónap garanciával
- SteelSeries vezeték nélküli fejhallgató Arctis 9
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 FE
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
