Mira este codigo, tal vez te sirva, no es la forma mas efectiva de hacer lo que te dije, y ademas, le faltan metodos
Quise probar el visual studio 2010 pero me anda re lento asi que .... no es mi mejor intento
class Agenda
{
// Supongamos que este es el archivo de texto, separado en lineas
string[] texto = { "PEPITO;45879684;", "JUAN;42369851;", "JOSE;47896523;" };
Hashtable agenda
= new Hashtable
(); // Agenda en memoria
public bool LeerArchivo()
{
if (File.Exists("agenda.txt")) {
StreamReader sr = File.OpenText("agenda.txt");
string linea = "";
int medio = 0;
while (!sr.EndOfStream)
{
linea = sr.ReadLine();
medio = linea.IndexOf(";")
agenda.Add(linea.Substring(0, medio), linea.Substring(medio, linea.LastIndexOf(";", medio) - 1))
}
return true;
} else
return false;
}
public void LeerArray()
{
int medio = 0;
foreach (string s in texto)
{
medio = s.IndexOf(";")
agenda.Add(s.Substring(0, medio), s.Substring(medio, s.LastIndexOf(";", medio) - 1))
}
}
public void Modificar(string nombre, string nuevoTelefono) {
agenda[nombre] = nuevoTelefono;
}
public void GuardarArchivo()
{
StreamWriter sw = File.CreateText("archivo.txt");
foreach (string nombre in agenda)
sw.WriteLine(nombre + ";" + agenda[nombre] + ";");
sw.Flush();
sw.Close();
}
}
EDIT:
utiliza un archivo XML u utilizas todos los controles y clases de acceso a datos, asi te evitaras problemas y sera como una base de datos.
Un DataSet Tipado, creas la tabla con la estrucutra y lo guardas con un metodo que tiene el dataset.
WriteToXML(string File) creo que es ese.
Atentamente,
Juan Manuel Lombana
Medellín - Colombia
Tambien es otra buena opcion, hay miles de formas de resolver tu problema
ya sea "a mano" o con clases del .net