Merhaba arkadaşlar ncelikle sorumu anlatayım. Amacım ienumerable arabiriminden yeni bir koleksiyon türetmek. Yeni koleksiyon sınıfım için ienumerator de yazdım fakat arabirimden farklı olarak iki metot ekledim, Bildiğiniz gibi varsayılan olarak IEnumerator arabiriminde Current, MoveNext , ve Reset elemanları var. Ben de MoveLast , ve MovePrevious yazmaya çalışıyorum kendi çapımda. MoveLast ta indisi count a eşitliyorum, movepreviousta ise bir azaltıyorum. Şimdi sorum şu, kisiEnumerator kE = new kisiEnumerator ; // bu yazdığım kendi enumaretor, yapıcısı kisiler tipinden parametre alıyor, kisiler ise ienumerable den türemiş bir sınıf Kisi objKisi;objKisi = kE. Current;kE. MoveLast ;Console. WriteLine ; // cıktı xkE. MovePrevious ;Console. WriteLine ; // cıktı yine x Bu blogun çıktısı aynı iki isim oluyor, yani movelast'ı çağırdıktan sonra da aynı isim yazıyor, moveprevious u çağırdıktan sonra da(ikisi de listenin ilk elemanı 2. satırda kE. Current diye eşitlemiştim çünkü ilk elemanı.) Yani sınıflar referans tipli olmasına rağmen metotları çağırdıktan sonra listede ilerleme yapamıyorum, tekrar current e eşitlemem gerekiyor. Umarım derdimi anlatabilmişimdir, teşekkür ederim şimdiden

Movelast yaparken sınıf içindeki current ı değiştiriyor musun Si vis pacem para bellum.

Movelast yaparken sınıf içindeki current ı değiştiriyor musun public void MoveLast cevap evet hocam, değiştiriyorum, ama yine de olmamıştı. Ama şyle bir çzüm buldum, Console. WriteLine ; bunun yerine Console. WriteLine yazdım, kE. Current kisi tipinde veri dndürüyor, ben de kisi sınıfının toStringini ezdim adsoyadı dndürecek şekilde yazdım...