我只有一个文件和一个要在其中搜索的字符串
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 ?