Saludos a todos compañeros del foro disculpen por la molestia pero es que me he topado con un problema se trata de lo siguiente.
Tengo que crear una lista ligada el cual va recibir los siguientes datos No. Tel, Nombre y Fecha de cumpleaños pero estos datos se encuentran en un archivo de texto plano mi duda es como hago para agregar los datos
la lista lo implemento yo.
si alguien seria tan amable de ayudarme se lo agradecere mucho.
A continuacion pongo el codigo para generar los nodos
class Nodo
{
public string Nombre;
public DateTime FeCumple;
public int Tel;
public Nodo siguiente;
public Nodo(string nom,DateTime cumple,int tel)
{
Nombre=nom;
FeCumple=cumple;
Tel=tel;
}
}
Hola,
1) No uses campos, usa propiedades.
2) Tienes que hacerlo a mano? porque puedes usar List<T>
3) Tu duda es: Cómo haces para leer un archivo de texto e instanciar los objetos según la data leida?
Saludos!
Si lo tengo que hacer a mano
y mi duda es como agrego los datos que tengo en el archivo a la lista
ejemplo
si tengo estos datos en el archivo como le hago para agregarlo en la lista
jose 125255 12/04/1990
Jesus 215558 14/06/1989
sabes lo que es el System.IO ?
deberias leer streams en .net, es fundamental
Si, se como abrir un archivo pero el problema es como agregar el contenido del archivo a una lista ligada sencilla
Iterando la lineas del archivo, y por cada linea creas una lista. Luego guardas esa referencia y en la próxima vuelta del ciclo tienes la nueva linea y la anterior y ahí la ligas.
Serias tan amable de darme un ejemplo por favor si no es muucho pedir
te dejo algo rustico que hice a la pasada por que no tengo tiempo,
el ejemplo supone que existe un archivo llamado "ejemplo.txt" en la misma carpeta donde esta el programa, dicho archivo pose 3 palabras (=P, que vago soy) separadas por espacios,todo en una solo renglon.
si te queda alguna duda y nadie hace algo mejor , te hago otro mas elaborado, esto esto es solo para mostrarte como guardar el texto en las variables.
pd: agregar los datos a una lista tambien se te complica?
using System;
using System.IO;
class ejemplo
{
static void Main()
{
int i=0;
string a="", j="", k="";
FileStream streamer;
string s;
try
{
streamer = new FileStream("ejemplo.txt", FileMode.Open);
}
catch (IOException ff)
{
Console.WriteLine(ff.Message);
return;
}
StreamReader joya = new StreamReader(streamer);
try
{
s = joya.ReadLine();
while (s[i] != ' ') { a += s[i]; i++; }
while(s[i]==' '){i++;}
while (s[i] != ' ') { j += s[i];i++; }
while(s[i]==' '){i++;}
while (i<s.Length ) { k += s[i];i++; }
Console.WriteLine(a + " " + k + " " + j);
}
catch (IOException ss)
{
Console.WriteLine(ss.Message);
}
joya.Close();
}
}
Muchas Gracias compañero me sirvio de mucho
les pongo el codigo por si alguien le sirve
StreamReader leer = new StreamReader("datos.txt");
while (s != null)
{
s = leer.ReadLine();
if (s != null)
{
int i = 0;
string a = "", j = "", k = "";
while (s[i] != ' ')
{
a += s[i];
i++;
}
while (s[i] == ' ')
{
i++;
}
while (s[i] != ' ')
{
j += s[i];
i++;
}
while (s[i] == ' ')
{
i++;
}
while (i < s.Length)
{
k += s[i]; i++;
}
lista.Insertar(a, j, k);
}
}
leer.Close();
Gracias a todos los que me respondieron