Forum » Programiranje » C# IEnumerable problem
C# IEnumerable problem
pykos ::
Živ, js mam en problem...Za testiranje mojega programerskega znanja mi je firma poslala par testnih nalog. No pr eni se mi je malo zataknlo. In sicer, za nardit je bil linearen seznam, dodat par metod(Add(elemet), Get(element) in pa Print())...zataknlo se mi je pr print metodi, ker morm za uporabo foreach stavka implementirat IEnumerable vmesnik(vsaj mislm tku :D), ubistvu že ene 3 ure sedim za kompom in gledam po netu kako se ta reč implementira(stupid)...no če mi lohko gdo pomaga oz usmeri v pravo smer bo supa-dupa...
class LinearCollection<T>:IEnumerable { private NodeElement zacetek; private NodeElement konec; private int size; public LinearCollection() { zacetek = null; konec = null; } public bool Add(NodeElement e)//doda nodeelement na konc seznama { Console.WriteLine("Dodajanje v seznam element {0}", e); if (zacetek == null) { //Console.WriteLine(" Dodajanje v seznam"); zacetek = e; konec = e; } else { //Console.WriteLine(" Dodajanje v seznam"); konec.Naslednji = e; konec = e; } return true; } public NodeElement Get() { NodeElement temp = new NodeElement(); if (zacetek == null) Console.WriteLine("seznam je prazen!"); else { Console.WriteLine("Izbrisali boste element {0} ", zacetek); temp = (NodeElement)zacetek.Clone(); zacetek=zacetek.Naslednji; if(zacetek!=null) Console.WriteLine("Sedaj je prvi element {0} ", zacetek); else Console.WriteLine("Seznam je izpraznjen"); } return temp; } public IEnumerator GetEnumerator()//tuki se mi zatakne in mi vrže stack overflow { foreach(NodeElement e in this) yield return e; } public void Print()//za to metodo potrebujem števec { foreach (NodeElement e in this) e.Print(); } }
Looooooka ::
in potem editiraj post da ne zgooglajo da si iskal pomoc :D (slo-tech ni glih neznan forum).
pykos ::
@luli:hvlala za link, sm ga pr iskanju spregledu:D...nevem pa kaj je narobe z uprašanjem, da je sprožlo tak odziv :D? ne vidim razlike med spraševanjem na slo forumih in spraševanjem na tujih forumih(slednje se mi zdi bolj hinavsko, "da me slučajno ne najdejo" :D)..LP
_Dormage_ ::
Če te zaradi tega ker si pomoč poiskal na forumu ne vzamejo potem je tvoj šef butec in niti nočeš takega dela :)
mihaelf3 ::
Več ljudi je dobilo iste naloge, tako da šef ne bo zagotovo vedel za koga gre.
Je pa res, da Google pravi, da je pykos svoj nick že kdaj uporabil
Je pa res, da Google pravi, da je pykos svoj nick že kdaj uporabil
torch it
pykos ::
če me pa na fotoareni najdejo pa nej me, je pa zgleda kr popularen ta nick...sm mislu da sm edini :D
Genetic ::
Tukaj imas implementacijo.
Za IEnumerator ni dovolj, da ga pac lahko das v foreach. Med drugim:
- ko ga ustvaris, ne kaze na prvi element collectiona, sele z MoveNext gre na prvi element;
- vsaka sprememba na collectionu invalidira enumerator;
- metoda Reset postavi Enumerator zopet na zacetek collectiona (pred prvi element v collectionu);
...
Za IEnumerator ni dovolj, da ga pac lahko das v foreach. Med drugim:
- ko ga ustvaris, ne kaze na prvi element collectiona, sele z MoveNext gre na prvi element;
- vsaka sprememba na collectionu invalidira enumerator;
- metoda Reset postavi Enumerator zopet na zacetek collectiona (pred prvi element v collectionu);
...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] SkladOddelek: Programiranje | 1589 (1449) | Spura |
» | [C#] Omejitev izpisa v foreachOddelek: Programiranje | 952 (820) | Cvenemir |
» | [C#] DeserializacijaOddelek: Programiranje | 1866 (1469) | Cvenemir |
» | c sharp LinkedList - NalogaOddelek: Programiranje | 1861 (1812) | Msatir |
» | Povezani seznamOddelek: Programiranje | 2114 (1711) | pohano |