An einer Stelle i in diesem Fall der Liste der Zeichenfolge bin mit dem ich in der Lage bin, den Wert der Zeichenfolge zu ändern, wie Code unten,Objektwert in foreach loop ändern?
foreach(string item in itemlist.ToList())
{
item=someValue; //I am able to do this
}
Aber für Objekt der Klasse bin ich das nicht in der Lage zu verändern Mitglieder Wert des Objekts den Code wie unten ist,
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;
}
Fehler ist: Kann nicht zuweisen, da es Iteration Variable
Nein, Sie sind wirklich nicht in der Lage, den Code im ersten Ausschnitt zu tun. Die Iterationsvariable ist schreibgeschützt. –
kann ich tun, weil .ToList() die Kopie der Liste erstellt und diese Kopie durchläuft, damit es funktioniert. –
Nein, das geht nicht. Probier es einfach. Der Code * wird nicht kompiliert *. Wenn Sie wirklich glauben, dass dies der Fall ist, erstellen Sie bitte ein kurzes, aber vollständiges Programm, das zeigt, dass Sie es nicht schaffen. –