не может работать с XElement, как с IEnumerable - PullRequest
0 голосов
/ 28 апреля 2011

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

почему? Я не могу найти свою ошибку.

Ответы [ 2 ]

4 голосов
/ 28 апреля 2011

Метод Элемент возвращает XElement (который не является перечисляемым).

Элемент s Метод возвращает IEnumerable .

4 голосов
/ 28 апреля 2011

В коде F # вы используете Element, который находит единственный элемент, а не Elements, который находит последовательность элементов.

(Код C # должен быть в порядке - там вы уже используете Elements.)

...