- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
- iPhone topik
- Apple Watch
- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy A56 - megbízható középszerűség
- Vivo X200 FE – fenséges méret
- Fotók, videók mobillal
- EarFun Air Pro 4+ – érdemi plusz
- Telekom mobilszolgáltatások
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
Ú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!
- QNAP hálózati adattárolók (NAS)
- Kínai és egyéb olcsó órák topikja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Autós kamerák
- Bundle topik
- Milyen billentyűzetet vegyek?
- A fociról könnyedén, egy baráti társaságban
- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
- Milyen cserélhető objektíves gépet?
- Philips LCD és LED TV-k
- További aktív témák...
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- Lenovo ThinkPad T14 - i5-10310u
- Lenovo ThinkPad X13 - i5-10210u
- Lenovo ThinkPad T440s i5 (12GB RAM / 240GB SSD) + Eredeti Ultra Dokkoló (40A1) - Iroda, Diák
- Új HP 15 Victus FHD IPS 144Hz i7-13620H 4.9Ghz 10mag 16GB 1TB SSD Nvidia RTX 5060 8GB Win11 Garancia
- Apple iPhone 12 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP EliteBook 840 G9 i7-1265U 16GB 256GB 14" FHD+ 1 év teljeskörű garancia
- Lenovo Thunderbolt 3 kábel (4X90U90617)
- GYÖNYÖRŰ iPhone 12 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4540, 100% AKKSI
- Amazon Kindle 10th Generation ébresztős tok
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


