[ Foro de C# ]
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.
"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.)