- Google Pixel topik
- Redmi Note 11 és 11S - biztos alapra jobb építeni
- Android alkalmazások - szoftver kibeszélő topik
- Bemutatkozott a Poco X7 és X7 Pro
- Megjött a jubileumi Pixel széria
- OnePlus 8T – fazonigazítás
- MIUI / HyperOS topik
- Mobil flották
- Huawei P60 Pro - kamera(telefon)
- Samsung Galaxy S25 Edge - a tegnap határán
Ú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!
- Azonnali informatikai kérdések órája
- Windows 11
- Google Pixel topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Gamescom 2025: Harminc évnyi VGA
- Battlefield 6
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Óra topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Redmi Note 11 és 11S - biztos alapra jobb építeni
- További aktív témák...
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- IKEA (HAVREHOJ) tablet tartó
- Samsung Galaxy A55 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- DELL Latitude 7340 i7-1365U 16GB 512GB 13.3" FHD+ TouchScren 1 év garancia
- HIBÁTLAN iPhone 14 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3236
Állásajánlatok
Cég: FOTC
Város: Budapest