List.Add, кажется, дублирует записи. В чем дело?
У меня есть такой класс:
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 элементов я получаю одинаковый вывод строки ... Я уверен, что делаю что-то совершенно глупое, но пока не знаю, что. Я все еще на 100% уверен, что правильная строка передается с самого начала.
-Adeena
Хорошо, я попробовал это и все еще имел ту же проблему:
foreach(myOtherClass tmpC in tmpClass.anewList)
{
Console.WriteLine(tmpC.theStringInMyClass.ToString());
}
и все же для каждого из 100 элементов я получаю одинаковый вывод строки ... Я уверен, что делаю что-то совершенно глупое, но пока не знаю, что. Я все еще на 100% уверен, что правильная строка передается с самого начала.
-Adeena