Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: P[i] en 3 Abril 2007, 17:13 pm



Título: Listas ilimitadas en C#.
Publicado por: P[i] en 3 Abril 2007, 17:13 pm
 Hola, estoy haciendo un programa  en C# y ya de partida no se como idear el programa, os explico.
 Tengo que hacer una lista (ilimitado) en la que se añada los elementos nuevos al final y ademas poder eliminar cualkiera elemento de la lista sin borrar los demas. En principio lo iva hacer con lazos como en C pero me di cuenta que en C# no se puede hacer punteros de estructuras. Despues se me ocurrio defenir una matriz y cuando añadir uno nuevo crear otra matriz mas grande y despues copiar la matriz vieja a la nueva y añadir en el ultimo valor lo nuevo, y algo por el estilo para eliminar, pero esto implicaria tener que andar copiando a mano todas matrices y no me gusta demasiado.
 Por favor si alguien tienes alguna idea de como hacer una lsita ilimitada en C# sera bien agredeciada jeje.
 Chao y saludos.


Título: Re: Listas ilimitadas en C#.
Publicado por: MANULOMM en 28 Abril 2007, 05:09 am
Hola, la solucion a tu pregunta son los listados genericos
en .net como te habras podido dar cuenta no existe la funcion redim como en vb 6.0 para trabajar con matrices por la simple razon que esa funcion redim era igual de mala para la memoria como crear una nueva matriz y copiar los datos.....
Los listados genericos no son campos continuos sino campos librea de la memoria que son marcado como pertenecientes a un listado generico..... la cosa es que son excelentes para lo que necesitas:
se declara asi:

Código:
List<-tipodato> <nombre> = new List<-tipodato->();
Ejemplo:
List<int> MiListado = new List<int>();

Para Adicionar Datos:
Código:
MiListado.add(10);
//Suponiendo que el listado es de tipo entero ingreso en la ultima pos empezando desde 0 el valor 10.

Para eliminar un pos:

Supongamos que tenemos el Listado MiListado con 5 pos empezando desde 0 osea que el index mas alto es 4, el listado tiene los siguientes datos:
pos 0 --> 10
pos 1 --> 20
pos 2 --> 30
pos 3 --> 40
pos 4 --> 50
supongamos que queremos eliminar la pos 2 seria asi:
Código:
MiListado.RemoveAt(2);
supongamos que queremos eliminar la pos que contiene el valor 20 seria asi:
Código:
MiListado.Remove(20);
Espero que esto te sirva.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


Título: Re: Listas ilimitadas en C#.
Publicado por: [D4N93R] en 2 Enero 2008, 12:52 pm
Es correcto, también puedes crear una clase algo así:

Código:
class Numeros : List<Int32>
{ }

y listo, queda super chévere y puedes sobreescribir sus métodos para mayor personalización.. saludos.


Título: Re: Listas ilimitadas en C#.
Publicado por: tonny_7 en 8 Mayo 2009, 02:21 am
La verdad yo no manejo c, pero te puedo ayudar a crear lista en c#:

solo manda mensaje a

marco_tonny@hotmail.es