C sharp - Crear un objeto y meterlo a una lista automaticamente

 
Vista:
sin imagen de perfil

Crear un objeto y meterlo a una lista automaticamente

Publicado por diego (3 intervenciones) el 16/09/2020 21:52:56
Buenas, soy nuevo en esto de la programacion y queria saber si habia alguna forma de que al crear un objeto, este sea automaticamente ingresado a una lista o un array, todo ingresado x consola.
Tenia la idea de que al constructor de este objeto se le pudiera escribir algun codigo que lo "metiera" directo a una lista.

1
2
3
4
5
6
7
8
9
10
11
12
13
class Empleados
{
    string nombre;
    int edad;
    public static int contador;
    public Empleados(string nombre, int edad)
    {
        this.nombre = nombre;
        this.edad = edad;
        contador++;
        Program.listaEmpleados.Insert(contador,new Empleados(nombre,edad));
    }
}




Este codigo obviamente esta mal pero esa era mi idea desde el principio.

Espero que se haya podido entender algo de lo que quiero hacer. Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear un objeto y meterlo a una lista automaticamente

Publicado por Nacho (115 intervenciones) el 16/09/2020 22:26:24
Este código no está mal
1
2
3
4
5
6
7
8
9
10
11
12
13
class Empleados
{
    string nombre;
    int edad;
    public static int contador;
    public Empleados(string nombre, int edad, ArrayList listaEmpleados)
    {
        this.nombre = nombre;
        this.edad = edad;
        contador++;
        listaEmpleados.Insert(contador, this);
    }
}

Lo que está mal es el contador. Tendría que ser estático dentro del objeto para que se fuera incrementando para todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Crear un objeto y meterlo a una lista automaticamente

Publicado por diego (3 intervenciones) el 16/09/2020 22:53:57
Gracias por contestar, me funciono lo que me dijiste
1
2
3
4
5
6
7
8
9
10
11
12
class Empleados
{
    string nombre;
    int edad;
    public static int contador;
    public Empleados(string nombre, int edad, IList<Empleados>empleados)
    {
        this.nombre = nombre;
        this.edad = edad;
        contador++;
        Program.listaEmpleados.Add(this);
    }

Lo unico que no entendi es sobre lo del contador que tiene que ser estatico dentro del objeto, y al declarlo dentro del constructor me tira error. Como se soluciona?

Tambien tengo otra duda, de que otra forma se puede formular esta linea de codigo sin poner el this
1
Program.listaEmpleados.Add(this);

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear un objeto y meterlo a una lista automaticamente

Publicado por Nacho (115 intervenciones) el 17/09/2020 00:19:40
Un static no se declara dentro del constructor. En una clase, algo declarado como static no pertenece al objeto, pertenece a la clase. Por eso se puede incrementar y se incrementa para todos los objetos. Se declara como lo has puesto.

this quiere decir este. Representa el objeto mismo desde el que se llama, así que es la mejor manera de hacerlo.

En programación no hay que hacer lo que funcione, hay que hacer lo que más claro y lógico sea. Para eso es mejor usar un objeto que controle la creación del objeto Empleados y los tenga en una lista
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class ListaEmpleados
{
    IList<Empleados> empleados = new Empleados[10];
    int contador;
 
    public void NuevoEmpleado(string nombre, int edad)
    {
        Empleados empleado = new Empleados(nombre, edad);
        empleados[contador]=empleado;
        contador++;
    }
 
 
    class Empleados
    {
        string f_nombre;
        int f_edad;
 
        public Empleados(string nombre, int edad)
        {
            f_nombre = nombre;
            f_edad = edad;
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Crear un objeto y meterlo a una lista automaticamente

Publicado por diego (3 intervenciones) el 18/09/2020 03:51:11
Gracias genio! me quedo clarisimo abrazo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar