无法像使用 IEnumerable 一样使用 XElement

发布于 2024-11-04 01:10:44 字数 689 浏览 0 评论 0原文

C#

        var xArr = XDocument.Load(FileName)
                            .Element("dataWorkers")
                            .Elements("worker");
        int i = 0;
        foreach (XElement item in xArr)

F#

    let xArr = (((XDocument.Load fileName).Element <| XName.Get "Dict").Element <| XName.Get "dictNode")
    for x in xArr do
        ()

错误,

The type 'XElement' is not a type whose values can be enumerated with this syntax, i.e. is not compatible with either seq<_>, IEnumerable<_> or IEnumerable and does not have a GetEnumerator method

为什么?我找不到我的错误。

C#

        var xArr = XDocument.Load(FileName)
                            .Element("dataWorkers")
                            .Elements("worker");
        int i = 0;
        foreach (XElement item in xArr)

F#

    let xArr = (((XDocument.Load fileName).Element <| XName.Get "Dict").Element <| XName.Get "dictNode")
    for x in xArr do
        ()

Error

The type 'XElement' is not a type whose values can be enumerated with this syntax, i.e. is not compatible with either seq<_>, IEnumerable<_> or IEnumerable and does not have a GetEnumerator method

why ? I can't find my mistake.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枯叶蝶 2024-11-11 01:10:45

Element 方法 返回一个 XElement (这是不可枚举的)。

Elements 方法 返回 IEnumerable< X元素>。

The Element Method returns an XElement (which is not enumerable).

The Elements Method returns an IEnumerable<XElement>.

琉璃梦幻 2024-11-11 01:10:45

在 F# 代码中,您使用 Element 查找单个元素,而不是 Elements 查找序列元素。

(C# 代码应该没问题 - 您已经在使用 Elements。)

In the F# code you're using Element which finds a single element rather than Elements which finds a sequence of elements.

(The C# code should be fine - there you're already using Elements.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文