Я подозреваю, что вы добавляете один и тот же экземпляр несколько раз - то есть (здесь я буду использовать C # ...)
Job job = new Job();
job.Name = "a";
list.Add(job);
job.Name = "b";
list.Add(job);
Что вы сделали, это добавили 2 ссылки на один и тот же объект в список. То, что вы должны были сделать, было:
Job job = new Job();
job.Name = "a";
list.Add(job);
job = new Job(); /// <<===== here
job.Name = "b";
list.Add(job);
Это потому, что классы являются ссылочными типами; все, что вы добавляете, это ссылка. Структуры являются типами значений и будут работать так, как вы ожидаете, , за исключением , что, если вы не действительно знаете, что делаете, структуры должны быть неизменяемыми (т. Е. После создания не редактируемые свойства). 1011 *