私が持っているのは、ファイルとその中を検索する文字列だけです
Key
Value1
Value2
Value3
Key1
Value1
これがファイルの構造です。ここで、キーを検索し、改行 (または単に空の行) が見つかるまで、その下にあるすべての値を読み取ります。
私はこのアルゴリズムを使用しています。
var valuelist = new List<string>();
using(var reader = new StreamReader(@"c:\test.txt"))
{
String a;
while( (a=reader.ReadLine())!=null)
{
if(!a.Equals("Key")) continue;
while( a == reader.ReadLine() != null) //check whether end of file is not reached.
{
if(a.Length == 0) break; //a empty line is reached.hence comeout.
valuelist.add(a);
}
}
}
「リーダー」オブジェクトを自動的に破棄するため、「使用」を使用していますか? この場合、私のアプローチは正しいですか?
このコンテキストで LINQ 式を使用するにはどうすればよいですか?
次のコードを試しました
var all_lines = File.ReadAllLines(@"C:\test.txt");
//How to retrieve "Values" for a given key using LINQ ?