Почему меняются данные в предыдущей записи в списке? - C#

Узнай цену своей работы

Формулировка задачи:

   LimitOrder limitOrder = new LimitOrder();
            limitOrder.PersistenceType = PersistenceType.PERSIST;
            string customerRef = DateTime.Now.TimeOfDay.ToString();
            limitOrder.Price = 1.01;
            limitOrder.Size = 400;
 
            IList<PlaceInstruction> list_placeInstructions = new List<PlaceInstruction>();
            var placeInstruction = new PlaceInstruction();
            placeInstruction.Side = Side.LAY;
            placeInstruction.Handicap = 0;
            placeInstruction.OrderType = OrderType.LIMIT;
            placeInstruction.LimitOrder = limitOrder;
            placeInstruction.SelectionId = 47972;
            limitOrder.Price = 1.01;
            limitOrder.Size = 400;
            list_placeInstructions.Add(placeInstruction);
            limitOrder.Price = 1.02;  // почему после этих двух строк
            limitOrder.Size = 200;    // меняются данные в предыдущей записи в списке  
 
            list_placeInstructions.Add(placeInstruction);

Решение задачи: «Почему меняются данные в предыдущей записи в списке?»

textual
Листинг программы
limitOrder.Size = 400;
list_placeInstructions.Add(placeInstruction); //добавили первую ссылку в список
placeInstruction = new PlaceInstruction(); //присвоили ссылку на новый объект
//установили значения полей
limitOrder.Price = 1.02; //в том числе и этих
limitOrder.Size = 200;     
list_placeInstructions.Add(placeInstruction); //добавили ссылку на новый объект в список

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы