Tengo que añadir un listado de cadenas de texto a un fichero de texto y el método de escritura me obliga a remitirle una matriz de string. Esto me lleva a una de esas formas semánticas que no son muy legibles, pero si absolutamente lógicas y que me he encontrado en el blog de XNEURON, el cual es muy recomendado.
File.WriteAllLines(<string>PathFisico, (string[])ArrayList.ToArray(typeof(string)));
Y para que lo veáis en acción, aquí pongo el código de un método que recibe una lista de vehículos, y almaceno sus matrículas en un fichero de texto.
static void construyeFicheroMatriculas(IQueryable<Vehiculo> listadoVehiculos)
{
string pathFicheroMatriculas = @"C:\Users\Public\Documents\Matriculas.txt" ;
ArrayList matriculas = new ArrayList();
foreach (Vehiculo vehiculoEach in listadoVehiculos)
{
matriculas.Add(vehiculoEach.matricula);
}
File.WriteAllLines(pathFicheroMatriculas, (string[])matriculas.ToArray(typeof(string)));
}
2 comentarios:
Hola,
Veo que estás usando .NET 3.5 al menos por lo que quizás es mas sencillo el siguiente código
static void construyeFicheroMatriculas(IQueryable listadoVehiculos)
{
string pathFicheroMatriculas = @"C:\Users\Public\Documents\Matriculas.txt";
var matriculas = listadoVehiculos.Select(vehiculo => vehiculo.matricula).ToArray();
File.WriteAllLines(pathFicheroMatriculas, matriculas);
}
Saludos,
Gabriel.
Muchas gracias Gabriel. Funciona de muerte!!
Si acaso le he cambiado el tipo var por el tipo string[], que los var los carga el diablo :)
Cada dia me gusta más Linq!!
Publicar un comentario