elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Array de clases sin dimencion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Array de clases sin dimencion  (Leído 2,862 veces)
Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Array de clases sin dimencion
« en: 2 Agosto 2017, 14:42 pm »

Hola buenas tardes.
Tengo una pregunta.
Tengo 3 clases: Persona, Alumno y Docente.
Docente y Alumno heredan de persona
Quiero crear un array de tipo Persona, ingresar Alumnos y Docentes en cualquier orden y guardarlos en el arrat
No se cuantos alumnos y docentes se desea ingresar, por lo tanto no se el tamaño del array Persona.
Use este codigo pero no funciono.
El error es que array es una referencia a objeto nula
Código:
public void Cargar()        
        {
            Persona[] array = null;
           
            array [0] = new Alumno();
            array [1] = new Docente();
            array [2] = new Alumno();
            array [3] = new Docente();

            foreach (Persona p in array )
            {
                p.Caminar();
            }
        }
Si o si debo usar el tipo array, ni listas ni ninguna otra cosa, array
Podrian ayudarme
muchas gracias


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Array de clases sin dimencion
« Respuesta #1 en: 2 Agosto 2017, 15:09 pm »

Un array, para usaarlo, tienes siempre que crearlo primero. new Persona[5], por ejemplo.

Luego, si resutla que quieres agregar 1 elemento, tendrás que crear otro array de 6 elementos y copiar los 5 primeros del anterior array.

Para hacer esto ya hay un método, Array.Resize:
Código
  1. Array.Resize(ref array, 6);
Este método se encarga de copiar los elementos del array anterior al nuevo. Al ir por referencia, no hace falta que cambies el contenidod e tu array ni nada.


En línea

Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Re: Array de clases sin dimencion
« Respuesta #2 en: 2 Agosto 2017, 19:11 pm »

Hola ivancea96.
Gracias por responder.
Una pregunta , que pasa si yo no ingreso por teclado el tipo de objeto que quiero crear ej primero un alumno, luego un docente, etc y a medida que elijo una opcion voy creando un array con el tipo de dato; este metodo me obliga a redimencionar el array cada ves que el usuario decida crear un objeto. Existe alguna otra forma de hacer esto usando arrays.
Muchas gracias

En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Array de clases sin dimencion
« Respuesta #3 en: 2 Agosto 2017, 19:29 pm »

Una opción, que es la que usan muchas clases, es, en vez de redimensionar de 1 en 1, redimensionar con espacio extra. Generalmente, se suele ahcer duplicando el tamaño del array, pero esto ya depende. Por ejemplo, si un array de 4 se llena, lo redimensionamos a 8. Llenamos el quinto hueco, y el resto quedan sin usarse.

Para hacer esto, hay que almacenar además el tamaño del array "usado", para saber donde insertar o hasta donde leer.
En línea

Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Re: Array de clases sin dimencion
« Respuesta #4 en: 3 Agosto 2017, 13:24 pm »

Hola ivancea96.
Muchas gracias por tu respuesta; lo probé y funciono.
Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Copiar parte de una array a otra array
Programación Visual Basic
sircid 3 5,276 Último mensaje 19 Diciembre 2007, 11:27 am
por LeandroA
Problemas con Re-dimencion de imagenes (solved)
PHP
Diabliyo 1 1,562 Último mensaje 4 Febrero 2011, 23:46 pm
por Diabliyo
Convertir Array de php a Array de javascript
PHP
WHK 0 4,623 Último mensaje 23 Enero 2012, 18:05 pm
por WHK
Eliminar las posiciones pares de un array y comprimir el array
Java
sevedeboa 8 15,479 Último mensaje 26 Enero 2015, 15:52 pm
por sevedeboa
Asignar a un array, la mitad o una parte de otro array
Programación C/C++
etcheverrypablol 2 2,770 Último mensaje 25 Marzo 2017, 16:05 pm
por etcheverrypablol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines