【发布时间】:2014-07-05 05:59:40
【问题描述】:
我需要在函数中建立一个列表,然后将它返回给另一个列表变量 问题是:在函数内部,列表是正确构建的,但是当我将它返回给外部变量时,外部列表的所有元素似乎都与函数内部添加的最后一个元素相似。这是什么原因?
这是我的代码:
List<stu> fillObject(SqlDataReader rd)
{
List<stu> stList = new List<stu>();
stu stObj = new stu();
while (rd.Read())
{
stObj.username = rd["username"].ToString();
stObj.password = rd["password"].ToString();
stObj.fname = rd["fname"].ToString();
stObj.lname = rd["lname"].ToString();
stObj.faculty = rd["faculty"].ToString();
stList.Add(stObj);
}
return stList;
}
这里是函数的调用:
var friendsList = fillObject(rd);
因此,虽然 'friendList' 循环会给出相同的最后一个对象添加到构建器函数中。
【问题讨论】: