我正在学习LINQ,想要使用LINQ逐字读取一个文本文件(比如说一本电子书)。
以下是我的尝试:
static void Main()
{
string[] content = File.ReadAllLines("text.txt");
var query = (from c in content
select content);
foreach (var line in content)
{
Console.Write(line+"\n");
}
}
这段代码逐行读取文件。如果我将ReadAllLines
更改为ReadAllText
,则文件将逐字读取。
有什么想法吗?
new Regex(@"[^\w'-]")
来分割字符串,以捕获大多数非单词字符,但保持'和-在单词内部不变。如果你不使用.NET 4,你也可以从TextReader中编写自己的惰性读取行代码,如:for(string line = rdr.ReadLine(); line != null; line = rdr.ReadLine())yield return line;
- Jon Hanna