[C#, linq] Läsa filnamn dynamiskt

Permalänk

[C#, linq] Läsa filnamn dynamiskt

Jag önskar kunna läsa in ett antal filer vars namn endast skiljer sig vad gäller en siffra (ex. "Fil_1.xml", "Fil_2.xml"..."Fil_25.xml", osv).

Eftersom jag inte vet hur många filer det är vid varje lästillfälle, så måste ju filnamnet ansättas dynamiskt (och även i annat fall vore det enormt tidsödande), så en loop är ju att föredra.

Men hur avgör loopen när den inte hittar fler filer? Hur ser syntaxen ut, gärna i linq?

Visa signatur

Bro!

Permalänk

Eh?

Överänvänd inte LINQ.

using System; using System.IO; foreach(FileInfo file in new DirectoryInfo( Environment.CurrentDirectory).GetFiles("Fil_*.xml")){ Console.WriteLine("Filename: {0}", file.Name); }

EDIT: Markerade den vitala koden.

Permalänk
Medlem

System.IO har redan funktioner för detta. Beroende på hur mycket info du vill ha om varje fil kan du använda någon av dessa två.

string[] files = Directory.GetFiles("C:\path", "Fil_*.xml"); FileInfo[] fi = new DirectoryInfo("C:\path").GetFiles("Fil_*.xml");

Visa signatur

Signatur?

Permalänk

Hehe, ok, ska inte överanvända linq - har svårt att komma överens med den kodstrukturen ändå Tack för tipsen - kör så istället.

Visa signatur

Bro!