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

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

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

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

请有人帮助我了解如何从行号 > 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;
    }
}

关于c# - 从文本文件中读取超过 Int.Max 行数的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31997218/

10-11 09:24