Env: C#, VStudio 2013 4.5 Framework WinFormsGraf von Dateien in C# mit LINQ
Tor: Wird die Anzahl der Dateien (Count) in einem Ordner und Unterordner, die Match in einem gespeicherte Erweiterungen String-Array. Das Array der Erweiterung kann mit dem "." von nicht. {".dat", "txt", ". msg"}
Was ich bis jetzt getan habe: Wenn ich das "." in der Reihe von Erweiterungen, alles funktioniert: { ".dat", "msg." "txt."}
Ich habe das Ersetzen versucht, aber es ist immer 0.
Der Arbeitscode Rückkehr (Nur wenn immer mit dem in Array von string) "":
string[] ext= new string[] { ".txt", ".msg", ".dat" };
totalFilesInTN = Directory.EnumerateFiles(dlg1.SelectedPath, "*.*", SearchOption.AllDirectories)
.Count(s => ext.Any(s1 => s1 == Path.GetExtension(s)));
der nicht funktionierenden Code (immer 0 zurück):
string[] ext= new string[] { "txt", ".msg", "dat" };
totalFilesInTN = Directory.EnumerateFiles(dlg1.SelectedPath, "*.*", SearchOption.AllDirectories)
.Count(s => ext.Any(s1 => s1 == Path.GetExtension(s).Replace(".", "")));
Try where-Klausel zuerst, dann die Zählung tun. – Nazmul
@Nazmul: das ist im Grunde das gleiche wie ohne 'Where', aber ein Prädikat in' Count'. –
Ich weiß, lass es versuchen und sehen, dass sich etwas ändert. Manchmal ist dies LINQ nicht möglich. – Nazmul