Visual CSharp .NET - Agenda de objetos - dudas(principiante)

 
Vista:

Agenda de objetos - dudas(principiante)

Publicado por Christian (1 intervención) el 18/10/2018 10:56:09
Hola a todos y todas!!

Soy nuevo programando en C# y también nuevo programando en orientación a objetos, antes había programado a un nivel muy básico en c++ y algo un poco más amplio (poco más) en php.

Estoy aprendiendo por mi cuenta c# y voy un poco liado, pero voy aclarando conceptos... Intenté hacer una agenda de objetos para practicar, recuerdo que una de las practicas donde más aprendí en c++ era hacer una agenda con funciones y con un struct, así que he querido "repetir" esa experiencia pero con clases y métodos.

El objetivo es hacer una clase persona con atributo dni, nombre y edad y crear un objeto de esa clase llamado person[x] donde x es el nombre de usuarios que se va incrementando cada vez que llamo añadir, de esa forma podría con una matriz del mismo objeto tener todos los usuarios y no hacer un objeto por persona, porque esa forma realmente no la veo para desarrollarla ¿crear un bucle que haga a su vez objetos?

Seguramente tenga conceptos mal y algunas cosas mal planteadas pero me gustaría ver si es posible lo que planteo, a pesar de que podría utilizar una estructura o hacerlo con una list, la intención es probar cosas.

public string Añadir()
{
int cant = cantidad;
cantidad++;

persona[] person = new persona[cantidad]; // creamos un objeto de arrays de 1 valor, iremos sumando cada vez que se invoca el metodo
person[cant] = new persona(); // creamos el objeto posición 0, lo invocamos para darle valores.
Console.Write("Nombre: ");
person[cant].nombre = Console.ReadLine();
Console.Write("DNI: ");
person[cant].dni = Console.ReadLine();
Console.Write("Edad: ");
person[cant].edad = int.Parse(Console.ReadLine());

return person[cant]; // no funciona.


}
Tengo este código para sumar 1 en el espacio de la memoria (array de objetos) aunque no sé si eso es correcto realizarlo ni que uso puedo darle, el caso es que le sumo uno y añado en nombre, dni y edad sus valores introducidos por el usuario, todo va bien pero no puedo hacer el return, tampoco puedo guardarlo en un atributo de la clase principal. de esta forma cuando llamo al método para consultar los datos esos datos introducidos se han volatilizado y no se quedan guardados, por eso quería guardarlos en un atributo accesible por todos o al menos hacer un return para guardarlo de esa forma.

Como veréis tengo los conceptos un poco dispersos...

¿alguna ayuda?
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
sin imagen de perfil
Val: 13
Ha mantenido su posición en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

Agenda de objetos - dudas(principiante)

Publicado por Bruno (1 intervención) el 30/01/2019 03:30:19
¿Por qué la firma del método es string Añadir() y el retorno es return person[cant];?
La firma y el retorno deben corresponder en su tipo.
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