Ich möchte die Directory.GetDirectories Methode verwenden, um alle Verzeichnisse mit einigen Ausnahmen zu erhalten. Insbesondere muss ich Verzeichnisse ausschließen, die einen Bindestrich enthalten. Ich habe bereits herausgefunden, dass reguläre Ausdrücke nicht als Suchmuster funktionieren. Welches Suchmuster würde ich verwenden?C# Bindestrich aus Verzeichnis.getdirectories ausschließen
2
A
Antwort
3
Vielleicht wäre eine LINQ-Abfrage ausreichend?
//query notation
var result = from d in Directory.GetDirectories(path)
where !d.Contains("-")
select d;
//'dot' notation
var result2 = Directory.GetDirectories(path)
.Where(dir => !dir.Contains("-"));
EDIT (Weitere Erläuterungen zu bekommen)
Die Lösung oben wird "LINQ to Objects" genannt. Es ist eine Möglichkeit, Abfragen abzufragen, die die Schnittstelle IEnumerable
oder IEnumerable<T>
implementieren. Die Methode GetDirectories
gibt Array
der Zeichenfolge zurück, die für die Verwendung von Linq geeignet ist. Es gibt eine Menge über Linq im Internet. Um zu sehen, die Macht von Linq flick durch diese Beispiele auf MSDN: 101 Linq Samples. BTW Linq ist nützlich, um Daten aus verschiedenen Quellen wie XML, Datenbanken etx zu erhalten.
2
System.Collections.ObjectModel.Collection<string> resultDirs=new System.Collections.ObjectModel.Collection<string>();
foreach (string dir in System.IO.Directory.GetDirectories("path"))
{
if (!dir.Contains("-")) resultDirs.Add(dir);
}
1
Nicht LINQ Weg:
static void Main(string[] args)
{
string StartingPath = "c:\\";
List<string> mydirs = new List<string>(); // will contains folders not containing "-"
foreach (string d in Directory.GetDirectories(StartingPath))
{
if (!(d.Contains("_")))
{
mydirs.Add(d);
}
foreach (string dir in mydirs)
{
Console.WriteLine(dir);
}
}
}
}
Verwandte Themen
- 1. Regex schließen einzelne aber doppelten Bindestrich ausschließen
- 2. Artikel aus der Array-Liste ausschließen C#
- 3. Ergebnisse ausschließen, die Sonderzeichen aus elasticsearch enthalten
- 4. Artikel aus DataList ausschließen
- 5. Ordner aus htpasswd ausschließen
- 6. Aus zipgroupfileset ausschließen?
- 7. Ordner aus htaccess ausschließen
- 8. Ordner aus Github ausschließen
- 9. Dateien aus Weblogs ausschließen
- 10. Kinder aus Taxonomieausdruck ausschließen
- 11. Verzeichnisse aus der Dateisuche ausschließen
- 12. konvertieren Em-Bindestrich in Bindestrich in Python
- 13. Ordner aus der Analyse ausschließen
- 14. Tests aus Maven Build ausschließen
- 15. Berechtigungen aus Facebook API ausschließen
- 16. Klasse aus dem Debugging ausschließen
- 17. Div aus Angular Digest ausschließen
- 18. Ressourcen aus der Abhängigkeit ausschließen jar
- 19. Ausschließen bestimmter Objekttypen aus der globalen Umgebung
- 20. Ausschließen von Eingaben aus dem jqTransform-Plugin
- 21. clion: Dateien aus der Projektansicht ausschließen
- 22. Basisbibliothekseinschlüsse aus dem Doxygen-Abhängigkeitsdiagramm ausschließen?
- 23. Führen Sie psexec.exe aus, wenn der Benutzername einen Bindestrich enthält.
- 24. Wie kann Doxygen eine C++ Klasse ausschließen?
- 25. Zeilenumbruch nach Bindestrich
- 26. asp.net Mvc ausschließen CSS-Datei aus Bündel
- 27. Ausschließen von Tests aus einer bestimmten Kategorie
- 28. Eine Konfigurationsdatei aus dem Merge-Prozess ausschließen
- 29. Ausschließen einer Datei aus dem Git-Status
- 30. Ein Objekt aus einem Addelement ausschließen
Ich bin ein neuer Informatikstudent. Ich erkenne nicht viel von diesem Code. Kannst du auf etwas Material verweisen, das mir hilft, es zu verstehen? – Paul
Wenn Sie .NET 4.0 verwenden, empfehle ich stattdessen [Directory.EnumerateDirectories() '] (http://msdn.microsoft.com/en-us/library/dd383304.aspx). –
@Paul Ich habe weitere Informationen beigefügt, die für Sie nützlich sein könnten. – nan