我在一个地方使用字符串列表,在这种情况下,我能够像下面的代码一样改变字符串的值:
foreach(string item in itemlist.ToList())
{
item = someValue; //I am able to do this
}
但对于类的对象,我无法更改对象的成员值。代码如下:
public class StudentDTO
{
string name;
int rollNo;
}
studentDTOList=GetDataFromDatabase();
foreach(StudentDTO student in studentDTOList.ToList())
{
student = ChangeName(student); //Not working
}
private StudentDTO ChangeName(StudentDTO studentDTO)
{
studentDTO.name = SomeName;
return studentDTO;
}
错误是:无法分配,因为它是迭代变量
ToList()
克隆的list
,然后在循环结束后将list
赋值为新的ToList()
修改后的产品。 - Mr Heelis