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

Ответы на вопрос(6)

Ваш ответ на вопрос