Merhabalar,
Visual Studio’da inner exception’a girip bu hatayı görüp google’ladıysanız hoş geldiniz 🙂
Ps: Hatanın Türkçesi : “Koleksiyon değiştirildi; sabit listesi işlemi yürütülemeyebilir“.
SENARYO
Koleksiyonu değiştirdiniz , çünkü çektiğiniz bir koleksiyondan gelen data başka bir koleksiyondan gelen data ile veya sabit bir veri ile örtüşüyorsa (yada örtüşmüyorsa) veriyi almak istememişsinizdir.
Gayet masumane bir şekilde döngünüzü kurmuş,if else bloklarınızı yapıştırmış “istanbul sen mi büyüksün ben mi ?” cümlesini kurmuş, bloğa takılan veriyi de (de ayrı) bloke etmiş (remove(item) ile) , tam ajax tan dönecek result ı beklerken hooopp hata…
item ı remove ettik koleksiyon 1 eksildi ama koleksiyonu güncellemedik, hala bir önceki toplam Count kadar döneceğini düşünüyor.
Çözüm ;
Ps 2: Icollection'<“Model”>’
foreach(var item in dataList){
if(item.Name == “Erol”) {
dataList.Remove(item);
}
}
yerine ;
foreach(var item in dataList.ToList()){
if(item.Name == “Erol”) {
dataList.Remove(item);
}
}
şeklinde kullanmak olacaktır.
Ps 3 : List'<“String”>’ ise;
##nesne isminin yine dataList olsun varsayarsak;
for (int i = dataList.Count -1; i >=0; i –){
if(dataList[i] != “Beşiktaş”){
dataList.Remove(dataList[i]);
}
}
bu şekilde kullandığımızda koleksiyonun değiştirildiğine dair hatayı almayacak oluruz.
İyi çalışmalar.
Teşekkür ederim 🙂
BeğenBeğen
Rica ederim Aybüke Hanım 🙂
BeğenBeğen
çok işime yaradı teşekkür ederim.
BeğenLiked by 1 kişi
Büyük resme kapılıp ufak detayları gözden kaçırınca insan böyle makalelerde buluyor çözümü 🙂 Teşekkürler
BeğenBeğen