我有一个类似这样的类:
public class myClass
{
public List<myOtherClass> anewlist = new List<myOtherClass>;
public void addToList(myOtherClass tmp)
{
anewList.Add(tmp);
}
}
所以我调用“addToList”一百次,每次都向列表中添加一个独特的项目。在运行“addToList”方法之前,我测试了我的项目以显示它们是唯一的。我甚至加入了一行代码来测试“tmp”,确保它是我期望的。
然而,当我这样做时(假设myClass对象被称为tmpClass):
int i = tmpClass.anewList.Count();
for (int j = 0; j<i; j++)
{
//write out each member of the list based on index j...
}
我得到了完全相同的项目,并且它是最后一个写入我的列表中的项目。就好像当我添加时,我正在用我添加的最后一个项目覆盖整个列表。
有帮助吗?这毫无意义。 我还尝试过List.Insert,其中我总是在末尾或索引0处插入。仍然不行。是的,我双重检查了我的索引是否正确,并且当我进行测试时,我正在遍历每个元素。
:)
更新: 好吧,我尝试过这个,但仍然有同样的问题:
foreach(myOtherClass tmpC in tmpClass.anewList)
{
Console.WriteLine(tmpC.theStringInMyClass.ToString());
}
对于这100个项目中的每一个,我都得到了相同的字符串输出……我确定我做了些非常愚蠢的事情,但我还不知道是什么。我仍然百分之百地确信一开始传入的字符串是正确的。
-Adeena
好的,我尝试过这个方法,但仍然存在同样的问题。
foreach(myOtherClass tmpC in tmpClass.anewList)
{
Console.WriteLine(tmpC.theStringInMyClass.ToString());
}
对于这100个项目中的每一个,我仍然得到了相同的字符串输出…… 我确信我正在做一些非常愚蠢的事情,但我还不知道是什么。 我仍然100%确定正确的字符串一开始就被传递进去了。
-Adeena