访问IEnumerable的第n个元素

pet*_*ski 8 c# xml ienumerable

我有这个方法:

private IEnumerable<XElement> ReadTransactions(string file_name)
    {
        using (var reader = XmlReader.Create(file_name + ".xml"))
        {
            while (reader.ReadToFollowing("transaction", "urn:namepsaceUri"))
            {
                using (var subtree = reader.ReadSubtree())
                {
                    yield return XElement.Load(subtree);
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

此方法从XML文件读取.但是,我不需要同时在XML文件中的所有节点.

我想一次给他们十个.

我尝试使用XPathSelectElements,但它获取所有节点,然后我需要迭代它们.

那么,有没有办法从XML文件中获取40-50的节点?我想修改ReadTransactions - 有另一个输入参数(在这种情况下是40),而不是所有的元素,它只返回10?

Pau*_*ter 14

那么ElementAt呢

在我看来这就是你要找的东西


Cyr*_*don 10

怎么样跳过() ,并以()扩展方法是什么?

var items = ReadTransactions(file_name).Skip(40).Take(10);
Run Code Online (Sandbox Code Playgroud)