C# Collection was modified; enumeration operation may not execute Hatası

C# Collection was modified; enumeration operation may not execute Hatası

17 Mayıs 2019 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 19
Yaklaşık okuma süresi : 2 DK
C# FTP Server Klasör Silmek
C# Collection was modified; enumeration operation may not execute Hatası
5 (100%) 1 Oy

C# Collection was modified; enumeration operation may not execute Hatası ile karşılaştıysanız ve bu yazımı bulduysanız doğru yere geldiniz demektir.

C# Collection was modified; enumeration operation may not execute Hatası

Bu hatanın Türkçe karşılığı : “Koleksiyon değiştirildi; sabit listesi işlemi yürütülemeyebilir“.

Bu hata bir koleksiyonun değiştirilmesine bağlı olarak çıkan bir hatadır. Bu hatanın çıkma sebebi ise bir yerden çektiğiniz koleksiyondan gelen veri başka bir koleksiyon ile örtüşüyordur yada örtüşmüyordur ve sizde bunu almak istemiyorsunuzdur.

Advertisements

Bu amaç ile bir döngü kurmuşsunuzdur ve istemdiğiniz itemleri Remove komutu ile silmişsinizdir. Bu temizleme işleminden sonra bir sonucu almak istediğinizde bu hata ile karşılaşırsınız. Burada koleksiyondan bir item sildik ama koleksiyonu güncellemedik. Bu yüzden döngümüz hala listenin ilk halindeki item sayısı kadar döneceğinden bu hatayı alırız.

Örnek olarak şöyle bir döngümüz var diyelim

foreach(var item in dataList){
     if(item.Name == "Mustafa") {
         dataList.Remove(item);
     } 
}

bu hata ile karşılaşmamak için kodlarımızı aşağıdaki gibi düzenlemeliyiz.

foreach(var item in dataList.ToList()){
     if(item.Name == "Mustafa") {
         dataList.Remove(item);
     } 
}

Yada aşağıdaki gibi kullanabilirsiniz.

for (int i = dataList.Count -1; i >=0; i –){
    if(dataList[i] != "Fenerbahçe"){
            dataList.Remove(dataList[i]);
        }
}

Bu şekilde kullanarak da bu hatadan kaçınabiliriz.


C# Collection was modified; enumeration operation may not execute Hatası, çözüm dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. 😉

C# FTP Server Klasör Silmek