2016-11-24 9 views
-4

私はstartswithに小さな問題があります。StartsWithがtrueを返さない

string[] MatchedFiles = Directory 
    .GetFiles(this.sReportDirectory, "*", SearchOption.AllDirectories) 
    .Where(s => s.StartsWith(this.sProjectNumber + "_InputCounts", StringComparison.CurrentCultureIgnoreCase)) 
    .ToArray(); 

私はいくつかのファイルをフィルタリングする必要がありますが、1つでは機能しません。配列は常に空です!しかし、それは含まれていますか?

私はすべての文字列の比較を試みました。

誰かが私が間違っていることを説明できますか?

または、複数のフィルタでファイル数を取得し、それ以外のすべてのファイルの配列をトラッキングする方法がありますか?

私はあなたが最初のパスを剥ぎ取る必要がありますので、ファイルのフルパスを返すのVisual Studioに2015

おかげ

+2

あなたはここにあなたのコードを投稿してくださいすることができ - サイトのルールはここにポストコードであり、そうでなければどこか別の場所に行くことはできませんし、あなたの質問は意味をなさないでしょう。 – BugFinder

+0

コードでも意味がありません。 oフォルダ内にファイル名の例が必要です。 – PaulF

+0

'sReportDirectory'とは何ですか? 'sProjectNumber'とは何ですか?ディレクトリ名とは何ですか?この質問は答えられません。 –

答えて

3

Directory.GetFilesを使用しています。例えば

string[] MatchedFiles = Directory 
    .GetFiles(this.sReportDirectory, "*", SearchOption.AllDirectories) 
    .Where(s => Path.GetFileName(s).StartsWith(this.sProjectNumber + "_InputCounts", StringComparison.CurrentCultureIgnoreCase)) 
    .ToArray(); 
+0

唯一の方法は、手動で配列をフィルタリングしてファイル数を取得することです。 –

+1

@TomPisz That、またはあなたはhenningbenksソリューションを使って 'GetFiles'メソッドでフィルタリングします。あなたのフィルタは十分に簡単であるので、それも機能します。 –

1

が直接パターンを使用して作業する必要があります:

string[] MatchedFiles = Directory 
.GetFiles(this.sReportDirectory, this.sProjectNumber + "_InputCounts*", SearchOption.AllDirectories) 
.ToArray(); 
+0

私のオリジナルコードはhttp://pastebin.com/Q0tPRJ6xでした。これは正常に動作し、私に正しい番号を与えていた。しかし、それ以来、私は他のファイル名に対応する必要があることを発見したため、StartWithを使用しようとしました。 –

-1

たぶん、あなたはSTARTSWITH方法で完全なパスを使用する必要があります。Path.GetFileName

string[] MatchedFiles = Directory 
.GetFiles(this.sReportDirectory, "*", SearchOption.AllDirectories) 
.Where(s => s.StartsWith(this.sReportDirectory + "\\" + this.sProjectNumber + "_InputCounts", StringComparison.CurrentCultureIgnoreCase)) 
.ToArray(); 
+0

sReportDirectory = "J:\\ PROD \\プロジェクト\\ 99999プロジェクトテスト\\" –

+0

"\\"をコードから削除します。 – daniel

+0

「バックスラッシュを削除する」、または「パス」をよく使う。これらの問題を処理するCombine()をプラットフォームに依存しない方法で実行します。 –

関連する問題