tam olarak ne yapmaya çalıştığınızı anlayamadım, C#'a da pek hakim değilim fakat sorun hakkında bi tahminim var ve örnek göstererek anlatacağım.
nums = [1,2,3,4,5,6]
val = None
for num in nums:
val = num
yukarıda döngü içerisinde val değişkeninin değerini sırayla nums listesinin içerisindeki sayı yapıyoruz ancak döngü 6’ya geldiğinde bittiğinden val değişkeni en son 6 olarak kalıyor. sizde de muhtemelen bu tip bir sorun var. en son okunan değeri bir önceki değerin üstüne yazıyorsunuz. bu yüzden böyle bir problem doğuyor.
Satırında ilk kez girdiğinde tamamını okumuş ve bitirmiş oluyor while döngüsünde gibi duruyor.
Yani bence demedim, while loop un içinde for ile de denenebilir.
Söylediğim gibi denemeden pek kod vermem, göz ucuyla kodun xml li tamamen okuduğunu ilk for değerinde ve sonrakinde de bunu tekrar ettiğini düşünüyorum.
Örneklerden elementleri adım adım çekmeyi deneyip her çekileni almak daha kolay gibi.
private void XmlOku()
{
DirectoryInfo icerik = new DirectoryInfo("OyunlarResim/");
resimler = icerik.GetFiles();
statusList = new List<string>();
renkList = new List<string>();
yaziList = new List<string>();
XDocument xdoc = XDocument.Load(@"Oyunlar\\Oyunlar.xml");
var oyunlar = from oyun in xdoc.Descendants("Oyun")
where (string)oyun.Element("User") == "Ozay"
select new
{
Status = (string)oyun.Element("Status"),
Renk = (string)oyun.Element("Renk"),
Yazı = (string)oyun.Element("Yazı"),
};
foreach (var oyun in oyunlar)
{
statusList.Add(oyun.Status);
renkList.Add(oyun.Renk);
yaziList.Add(oyun.Yazı);
}
}
}
}