C sharp - me podeis ayudar con ésto ?¿?¿

 
Vista:

me podeis ayudar con ésto ?¿?¿

Publicado por pepe (1 intervención) el 10/04/2008 19:55:17
Tengo el siguiente código, cómo puedo borrar valores ya intoducidos. Si podeis arreglarme un poco el programa se agradecería.

using System;
using System.Collections;
using System.Text;

namespace ConsoleApplication1
{
class Persona //clase1
{
public string Nombre;
public int Edad;
public string NIF;
public Persona(string minombre, int miedad, string minif)
{
Nombre = minombre;
Edad = miedad;
NIF = minif;
}
public void visualizar()//método1.1
{
Console.WriteLine("Nombre: {0}", Nombre);
Console.WriteLine("Edad: {0}", Edad);
Console.WriteLine("NIF: {0}", NIF);
Console.ReadLine();
}
public void cumpliraños()//método1.2
{
Edad++;
}
class program //clase2
{
public static int posicion = 0;
public static Persona[] sujeto = new Persona[30];
public static Persona humano;
static Persona añadir()//método 2.1
{
Console.Write("Introduce el nombre del individuo: ");
string Nombre = Console.ReadLine();
Console.Write("Introduce la edad del individuo: ");
int Edad = Int32.Parse(Console.ReadLine());
Console.Write("Introduce el NIF del individuo: ");
string NIF = Console.ReadLine();
Console.ReadLine();
Persona humano = new Persona(Nombre, Edad, NIF);
sujeto[posicion] = humano;
posicion++;
return humano;
}
static void buscar()//método 2.2
{
int indice = -1, i;
Console.Write("Introduce el nombre del sjeto que deseas visualizar: ");
string nom = Console.ReadLine();
for (i = 0; i < posicion; i++)
{
if (sujeto[i].Nombre == nom)
{
sujeto[i].visualizar();
indice = i;
break;
}
}
}
public static void Main(string[] args)//comienza el programa
{
string opcion;
do
{
Console.WriteLine("1.Introducir nuevo");
Console.WriteLine("2.Aumentar edad");
Console.WriteLine("3.Visualizar sujeto");
Console.WriteLine("4.Borrar sujeto");
Console.WriteLine("5.Salir");
Console.WriteLine("------------------------");
Console.Write("¿Que deseas hacer?: ");
opcion = Console.ReadLine();
if (opcion == "1")
{
humano = añadir(); //método 2.1
}
if (opcion == "2")
{
humano.cumpliraños(); //método1.2
}
if (opcion == "3")
{
humano.visualizar(); //método1.1
}
if (opcion == "4")
{
humano.borrar();
}

}
while (opcion != "5");
}
}
}
}
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

RE:me podeis ayudar con ésto ?¿?¿

Publicado por 4gl (5 intervenciones) el 24/04/2008 18:21:19
La unica forma que tienes de borrar utilizando un array tradicional es inicializarlo a Null en el indice que quieras borrar:

sujeto[pos] = null;

o bien:

humano = null;

El sistema de recoleccion de basura se ocupara de borrar el objeto.

Te seria todo mucho mas facil usando una de las clases de Coleccion del framework, por ejemplo:

List<Persona> listaPersonas = new List<Persona>();

//Añadir

listaPersonas.Add(humano);

//Recuperar

humano = listaPersonas[ind];

//Borrar

listaPersonas.RemoveAt(ind);
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