特定の部分文字列を含むタイトルを持つディレクトリにファイルからすべての行を読み込もうとしています。
たった 1 行のコードですべてが必要なので、LINQ を使用しようとしています。
File.ReadAllLines(Directory.GetFiles(Path).Select(i=> i.Where(i.Contains("mystring")) );
しかし、コンパイラはそれを好まない - どうすればこれを達成できますか?
特定の部分文字列を含むタイトルを持つディレクトリにファイルからすべての行を読み込もうとしています。
たった 1 行のコードですべてが必要なので、LINQ を使用しようとしています。
File.ReadAllLines(Directory.GetFiles(Path).Select(i=> i.Where(i.Contains("mystring")) );
しかし、コンパイラはそれを好まない - どうすればこれを達成できますか?
これを試して:File.ReadAllLines(Directory.GetFiles(Path).First(i => i.Contains("mystring")))
タイトルに何らかの文字列を含むすべてのファイルを取得するには、そのクエリを使用します。
Directory.GetFiles(Path).Where(f => f.Contains("mystring").ToList())
で変更ToList()
しFirst()
て、すべてではなく最初のものだけを取得できます。
これを試してみてください。考えられる例外を処理します。
string fileContent = string.Empty;
var fileName = Directory.GetFiles(Path).Where(i => i.Contains("mystring")).FirstOrDefault();
if(!string.IsNullOrEmpty(fileName))
fileContent = File.ReadAllLines(fileName);