i bu durumda dize listesini kullanıyorum kod aşağıda verildiği gibi ben dize değerini değiştirmek mümkün duyuyorum, Foreach döngüsündeki nesnelerin değeri mi değiştiriliyor? Bir yerde
foreach(string item in itemlist.ToList())
{
item=someValue; //I am able to do this
}
Ama sınıfın nesne için
i değiştirmek mümkün değilim kod aşağıdaki gibidir nesnenin üyeleri değeri,public class StudentDTO
{
string name;
int rollNo;
}
studentDTOList=GetDataFromDatabase();
foreach(StudentDTO student in studentDTOList.ToList())
{
studentDTO=ChangeName(studentDTO); //Not working
}
private StudentDTO ChangeName(StudentDTO studentDTO)
{
studentDTO.name=SomeName;
return studentDTO;
}
Hata şudur: çünkü atanamıyor yineleme değişkeni
sen aslında zaten bahsettiğiniz nesneyi değiştirmeyeceğiz
Hayır, önce ön bilgide kod yapmak gerçekten mümkün değil. Yineleme değişkeni salt okunurdur. –
.ToList() nedeniyle listenin kopyasını yaparak ve bu kopyada yinelenen yapabildiğim için çalışıyorum –
Hayır, bunu yapamazsınız. Sadece dene. Kod * derlenmeyecektir *. Eğer gerçekten inandığını düşünüyorsanız, lütfen bunun kısa süreli olduğunu gösteren bir program hazırlayın - bunun başarısız olduğunu göreceksiniz. –