Título: [C#] Array de una clase. Aumentar dimensiones Publicado por: Sr Limone en 31 Agosto 2015, 00:21 am Hola! Justo me acabo de registrar en este foro por que no encuentro solución a este pequeño problema. Espero y me puedan ayudar jeje.
Supongamos que tengo una clase llamada Persona y hago un array de la misma, es decir, algo así como: Código ¿Cómo hago para que este array aumente sus dimensiones conforme lo valla requiriendo? Espero haberme explicado y que me puedan ayudar. Muchas gracias :) Título: Re: [C#] Array de una clase. Aumentar dimensiones Publicado por: kub0x en 31 Agosto 2015, 01:26 am Bienvenido a la comunidad Sr Limone.
Supongo que estarás aprendiendo programación. Cuando instancias un array con un tamaño fijo y se te queda pequeño debes de redimensionarlo haciendo uno más grande y copiando el contenido del viejo al nuevo. En .NET como bien sabrás estas cosillas no las tienes que implementar o programar, bastaría con utilizar la clase ArrayList, la cual subyacente o por debajo hace el redimensionamiento al quedarse sin espacio o bien, con llamar al método Array.Resize() conseguirías el mismo resultado. Saludos. Título: Re: [C#] Array de una clase. Aumentar dimensiones Publicado por: Eleкtro en 31 Agosto 2015, 11:31 am Aparte de lo ya mencionado, también podrías usar una colección genérica de tipo List<T>, al igual que un ArrayList pero con miembros más productivos, hace uso de un buffer de arrays para almacenar los datos, los cuales son redimensionados dinámicamente (internamente) utilizando los métodos List.Add() y List.Remove() (entre otros).
Código
ArrayList, List<T>, ambas maneras son más productivas que utilizar un Array nativo. No existe manera de redimensionar dinámicamente un Array, para redimensionar el tamaño de asignación debes usar Array.Resize cómo ya han comentado, aunque una manera más óptima en cuestión de velocidad sería copiar el contenido del antiguo array a uno nuevo: Código
Código
Conversión online a C#: Código
Código
Saludos |