TextReader类行数

HuM*_*-SI 2 c# text lines count textreader

你好.最近,我了解了该课程TextReader以及如何阅读文本文件.但是,有一些我不太了解的事情.

假设这是一个新对象:

TextReader TR = new StreamReader(@"C:\Users\Administrator\Desktop\Text1.txt");
Run Code Online (Sandbox Code Playgroud)

所以我想知道那里有多少个字母,所以我输入了这个,对吧?

Console.WriteLine(TR.ReadToEnd().Length);
Run Code Online (Sandbox Code Playgroud)

但是,它返回第一行的数字,它是当前的,但是当我添加新行时.无论是否输入任何内容,长度都会增加.假设\n这是一个新行的代码[也许我错了,但它有意义]

所以我需要减少这样的长度:

current length - line count*2
Run Code Online (Sandbox Code Playgroud)

所以我在我的文本文件中得到了正确数量的字母.问题是:我如何获得行数?

还有另一种检查字母数的方法吗?如果有,怎么样?无论如何,如何获取文本文件中的行数?

谢谢.=)

Mic*_*uda 6

从.NET framework 2.0开始,有一个快捷方法ReadAllLines:

var lines = System.IO.File.ReadAllLines("file.txt");
var count = lines.Length;
Run Code Online (Sandbox Code Playgroud)