从文本文件读取行超过Int.Max行数

Meg*_*ark 3 c# file ulong

我用Google搜索并查看了几个答案,但我还没有找到解决方案:我有一个.txt文件,其中包含超过int.max的行数.如何读取编号> int.max的特定行?我发现这个问题的答案被列为能够

string line = File.ReadLines(FileName).Skip(14).Take(1).First();
Run Code Online (Sandbox Code Playgroud)

但遗憾的是.Skip()扩展方法不接受Long(或在我需要的情况下为ULong)参数.

所以我开始寻找重载.Skip扩展(或更准确地使我自己)接受ULong并发现对我没有帮助,因为它与Linq实体有关.

请有人帮我理解如何从行号为> int32.Max的文本文件中读取特定行

谢谢

Ese*_*ser 6

您可以编写自己的Skip作为扩展方法

public static IEnumerable<T> MySkip<T>(this IEnumerable<T> list, ulong n)
{
    ulong i = 0;
    foreach(var item in list)
    {
        if (i++ < n) continue;
        yield return item;
    }
}
Run Code Online (Sandbox Code Playgroud)