Arrays tipados con algo similar a la propiedad add o remove

05/07/2006 - 13:55 por Javier Garcia | Informe spam
Buenas en visual studio 2003 la unica forma de inicializar arrays era string
[] yo = new string [5], y obligaba a ponerle el tamaño cuando era creado el
control.

¿¿Existe en vs2005 algo similar a los arraylist.Add o remove, etc para
arrays con tipo??

Preguntas similare

Leer las respuestas

#11 Javier Garcia
06/07/2006 - 14:10 | Informe spam
Gracias por tu observacion octavio, por suerte hace bien lo que yo quiero
que haga (las modificaciones que hago en el nuevo list copia del original no
se reflejan en este, ni viceversa), pero no entiendo exactamente a lo que te
refieres con

Con este código lo que haces es una copia "superficial" (shallow) de la
lista. O sea que ambas listas apuntarán a LOS MISMOS objetos, y cuando
cambies uno de esos objetos a través de una lista estarás en el fondo
afectando a la otra lista también.





Muchas gracias



"Juan Diego Bueno" escribió en el mensaje
news:
Está bien saberlo, Octavio. Yo he hecho pruebas con ints nada más, ya
que aún no me he puesto en serio con los generics.

De todas maneras, aún así, creo que es lo que necesitaría Javier,
porque de no ser así, solo se me ocurre que recorra cada elemento de
la lista inicial y lo reinstancie en la final.

Octavio Hernandez wrote:
Juan,

>> List<ClaseEntidad> oList2= new List<ClaseEntidad>();
>> oList2.AddRange(oList);

De todos modos, ¡cuidado!
Con este código lo que haces es una copia "superficial" (shallow) de la
lista. O sea que ambas listas apuntarán a LOS MISMOS objetos, y cuando
cambies uno de esos objetos a través de una lista estarás en el fondo
afectando a la otra lista también.
Eso puede ser conveniente o no

Salu2 - Octavio


"Juan Diego Bueno" escribió en el mensaje
news:
Creo que esto te servirá:

List<ClaseEntidad> oList2= new List<ClaseEntidad>();
oList2.AddRange(oList);


Juan Diego Bueno wrote:
> Ostras, perdón. Si que es como tu decías, probé mal el código...
> Bueno, voy a investigar a ver si encuentro lo que necesitas
>
> Juan Diego Bueno wrote:
> > Fijate que pensé que mi solución estaba mal porque pensé que
> > querías que los cambios de una se reflejaran en la otra.
> >
> > De la forma que yo te he propuesto, en el momento en que haces la
> > copia, se clona el contenido que hay en ese momento en oList. Si tu
> > modificas a posteriori oList, oList2 no se entera. ¿No es eso lo que
> > quieres?
> > Javier Garcia wrote:
> > > Antes de nada muchas gracias
> > >
> > > >> List<ClaseEntidad> oList2= new List<ClaseEntidad>();
> > > >>oList2=oList;
> > > >>A mi con esto me crea una copia exacta de oList en oList2
> > >
> > > La idea no es que me haga una copia exacta de forma que los 2
> > > objetos
> > > referencien al mismo espacio de memoria, si no que sean objetos
> > > diferentes
> > > con el mismo contenido, de forma que al modificar alguno de ellos
> > > los
> > > cambios no se realicen en el otro.
> > >
> > >
> > > "Juan Diego Bueno" escribió en el mensaje
> > > news:
> > > Javier, si quieres clonar, no tienes más que hacer una asignación
> > > pura y dura:
> > >
> > > List<ClaseEntidad> oList2= new List<ClaseEntidad>();
> > > oList2=oList;
> > >
> > > A mi con esto me crea una copia exacta de oList en oList2
> > >
> > > Saludos
> > >
> > > Javier Garcia wrote:
> > > > Muchas gracias por tu ayuda, La idea es bastante similar a la que
> > > > necesito,
> > > > pero me interesaria que implementase el metodo .Clone() de los
> > > > arraylist.
> > > > Sabes de alguna otra clase que si lo consiga??
> > > >
> > > > Muchas gracias
> > > >
> > > >
> > > > "Leandro Tuttini" escribió en el mensaje
> > > > news:
> > > > >
> > > > > Javier:
> > > > >
> > > > > Si eatas usando .net 2005 podes hacer experimentar la potencia
> > > > > de
> > > > > Generic.
> > > > >
> > > > > Para esto tenes que referencia el namespace
> > > > > System.Collections.Generic.
> > > > >
> > > > > De aca por ejemplo podes usar por ejemplo
> > > > >
> > > > > List<ClaseEntidad> oList= new List<ClaseEntidad>();
> > > > > oList.Add(new ClaseEntidad());
> > > > >
> > > > > Como una primera aproximacion seria esto, pero si buscas sobre
> > > > > el
> > > > > tema
> > > > > en internet veras que hay mucha info.
> > > > >
> > > > > Saludos
> > > > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida