当我使用C#7如下读取文本文件中的所有行获取行号:读取文件
using (StreamReader reader = File.OpenText(file)) {
String line;
while ((line = reader.ReadLine()) != null) {
}
}
对于每一行我还需要得到行号。
StreamReader似乎没有获取行号的方法。
这样做的最好方法是什么?
当我使用C#7如下读取文本文件中的所有行获取行号:读取文件
using (StreamReader reader = File.OpenText(file)) {
String line;
while ((line = reader.ReadLine()) != null) {
}
}
对于每一行我还需要得到行号。
StreamReader似乎没有获取行号的方法。
这样做的最好方法是什么?
你应该用你自己的局部变量的话,这样的:
using (StreamReader reader = File.OpenText(file)) {
String line;
int lineNum=0;
while ((line = reader.ReadLine()) != null) {
++lineNum;
}
}
我只是创造一个整数,以保持行号的轨道自己。
using (StreamReader reader = File.OpenText(file)) {
var lineNumber = 0;
String line;
while ((line = reader.ReadLine()) != null) {
...
lineNumber++;
}
}
微软也使用这样的变量中的一个例子来算线:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-read-a-text-file-one-line-at-a-time
你可以通过你自己计算行数:
using (StreamReader reader = File.OpenText(file)) {
String line;
int n = 0;
while ((line = reader.ReadLine()) != null) {
n++;
}
}
除了其他解决方案在此,我喜欢使用File.ReadAllLines(string)来创建string[]
结果,然后使用for (int i = 0; i < result.Length; i++)...
。
我不理解什么吗?你为什么不能自己数数呢? –