» »

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();
        }
    }

luli ::

Looooooka ::

in potem editiraj post da ne zgooglajo da si iskal pomoc :D (slo-tech ni glih neznan forum).

commissar ::

sej ni dobil ne vem kwa pomoči. link na msdn, kar bi mogu že itak sam pogledat.

trythis ::

iščeš službo v Agito potem pa tukajle sprašuješ za pomoč in ne veš da msdn obstaja ;((

commissar ::

kako veš da je za agito? inside info :D?

Spura ::

yield return vrne element IEnumerable ne IEnumerator.

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 :)

darkolord ::

In pol bo vse spraševal na forumu al kako?

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 ;)
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);
...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] Sklad

Oddelek: Programiranje
91589 (1449) Spura
»

[C#] Omejitev izpisa v foreach

Oddelek: Programiranje
10952 (820) Cvenemir
»

[C#] Deserializacija

Oddelek: Programiranje
181866 (1469) Cvenemir
»

c sharp LinkedList - Naloga

Oddelek: Programiranje
91861 (1812) Msatir
»

Povezani seznam

Oddelek: Programiranje
132114 (1711) pohano

Več podobnih tem