[ Foro de C# ]

ArrayList de medicamentos dentro de un objeto Pedido

28-Apr-2014 06:20
Invitado (DAMIAN)
1 Respuestas

creo el objeto pedido de clase pedido,

ese objeto lleva como parametro( datos persona , datetime fecha del pedido , un arraylist con los medicamentos q eligio , y un double con el total del medicamento)

hasta ahi me hace todo bien , crea el pedido y todo perfecto,

el tema q cada vez que voy haciendo un pedido nuevo ,todos los pedidos anteriores van quedando con los mismos datos de la (arraylist) del ultimo pedido ,

Yo lo que quiero es que cada pedido le quede registrado su propia arraylist de medicamentos .


 Pedido pedido = new Pedido(fecha, (datos persona) p, (arraylist)listarapida , Pedido.Totalpedido(Default.listarapida));

public class Pedido

{

  public DateTime Fecha;
   public Persona P;
   public List<Medicamentos> Lista;
   public double Total;
   
   
  
    public Pedido(DateTime fecha, Persona p,List<Medicamentos> lista,double total)
    {

        Fecha = fecha;
        P = p;
        Lista = lista;
        Total = total;
       
     
    
    
    }


Nota: los medicamentos los cargo a la arraylist antes de crear el pedido y los carga bien , el tema es al querer ver el objeto pedido. me muestra siempre la ultima arraylist para todos la misma, quiero que cada uno tenga la propia.


28-Apr-2014 21:44
Nacho Cabanes (+84)

"Lista = lista" no funcionará: no hace una copia del arrayList, sino que ambos apunten a la misma dirección de memoria.

En vez de hacer "Lista = lista", copia los elementos de una a la otra (o busca información sobre el método "Clone"). También puedes optar por no pasar todo el arrayList, si no los medicamentos uno a uno, y los vas añadiendo al arrayList de destino.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)