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

#6 Juan Diego Bueno
06/07/2006 - 09:39 | Informe spam
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
> > >
Respuesta Responder a este mensaje
#7 Juan Diego Bueno
06/07/2006 - 09:44 | Informe spam
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
> > > >
Respuesta Responder a este mensaje
#8 Javier Garcia
06/07/2006 - 10:35 | Informe spam
comomola, muchas gracias, eso ya hace lo que yo queria.
Un abrazo y muchas gracias.

"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
> > > >
Respuesta Responder a este mensaje
#9 Octavio Hernandez
06/07/2006 - 13:30 | Informe spam
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
> > > >
Respuesta Responder a este mensaje
#10 Juan Diego Bueno
06/07/2006 - 13:39 | Informe spam
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
> > > > >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida