Directory.GetDirectoriesメソッドを使用して、いくつかの除外を含むすべてのディレクトリを取得したいと考えています。特に、ハイフンを含むディレクトリを除外する必要があります。私はすでに検索パターンとして動作しない正規表現を見つけました。どの検索パターンを使用しますか?c#directory.getdirectoriesからハイフンを除外
2
A
答えて
3
おそらくlinqクエリで十分でしょうか?上記
//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(詳細な説明)
溶液を"LINQ to Objects"呼ばれます。 IEnumerable
またはIEnumerable<T>
インターフェイスを実装しているコレクションにクエリを出す方法です。 GetDirectories
メソッドは、Linqを使用できる文字列のを返します。 Linqについてはインターネット上にたくさんのものがあります。 LinqのパワーをMSDNの次の例を見てみよう:101 Linq Samples。 BTW Linqは、XML、データベースetxなどのさまざまなソースからデータを取得するのに便利です。
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
ないLINQの道:
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);
}
}
}
}
関連する問題
- 1. c#Directory.GetDirectories without folders
- 2. Bashでファイル名からハイフンを削除する
- 3. ファイル内の特定の行からハイフンを削除する
- 4. ハイフンの後にテキストを削除する
- 5. PictureBoxをTransparencyKeyから除外
- 6. Java Regex - ハイフンで添付された5桁の数字を除外
- 7. ValidationSummaryから除外MVC3
- 8. 更新IDから除外
- 9. C#正規表現否定先読み一致から除外
- 10. ハイフン
- 11. キャメルケースとキャメルケースにハイフンで区切られたハイフンで区切られた
- 12. git-diffからファイルを除外する
- 13. ASP.NETプロジェクトのリリースビルドからページを除外
- 14. UIGestureRecognizerからサブビューを除外する
- 15. django:マイグレーションからモデルを除外する
- 16. numpyでgenfromtxtから列を除外
- 17. ウェブログからファイルを除外する
- 18. 「ケースを選択...ケース」から除外ケース
- 19. VS2010:ビルドからプロジェクトを除外する
- 20. gerritレビューから投稿者を除外
- 21. htpasswdからフォルダを除外します
- 22. "ブレンドからテキストを除外" CSSブレンディング
- 23. GWTモジュールからメソッドを除外する
- 24. SonarからJavaScriptライブラリを除外する
- 25. ビルドから.bakファイルを除外する
- 26. webpackバンドルからreactを除外
- 27. Gitマージからファイルを除外する
- 28. ロックバックをrootから除外します
- 29. EFストレージからプロパティを除外する
- 30. サブフォルダからASP.NETを除外する
私は新しいコンピュータサイエンスの学生です。私はそのコードの多くを認識しません。私はそれを理解するのに役立つ資料を参照できますか? – Paul
.NET 4.0を使用している場合は、代わりに['Directory.EnumerateDirectories()'](http://msdn.microsoft.com/en-us/library/dd383304.aspx)を使用することを強くお勧めします。 –
@Paul私はあなたに役立つより多くの情報をまとめました。 – nan