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

Read Line From Text File With More Than Int.Max Number of Lines

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

string line = File.ReadLines(FileName).Skip(14).Take(1).First();

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

所以我开始寻求重载 .Skip 扩展名(或更准确地说是我自己的)以接受 ULong 并发现 this 这对我没有帮助,因为它与 Linq to entities 有关。

有人可以帮助我了解如何从行号为 > int32.Max

的文本文件中读取特定行

谢谢

您可以编写自己的 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;
    }
}