Преобразование результирующих значений в список строк в Linq - PullRequest
2 голосов
/ 01 октября 2010

У меня проблемы с возвратом списка строк .Value запроса Linq:

    Dim details = <Details>
                      <Vector size="5">
                          <Item>Syntactic Structures</Item>
                          <Item>Introduction</Item>
                          <Item>The Independence of Grammar</Item>
                          <Item>An Elementary Linguistic Theory</Item>
                          <Item>Phrase Structure</Item>
                      </Vector>
                  </Details>
    Dim chapterTitles = details.<Vector>.<Item>.Skip(1).Take(4)

Правильно, так как он возвращает список требуемых элементов XE (пункты 1 - 4), база 0), но мне действительно нужен список строк для .Value этих XElements.Может быть, я просто плотно здесь, но все, что я пробовал в запросе chapterTitles, не работает (добавление с .ToList.ToString и т. Д.).details.<Vector>.<Item>.Skip(1).Take(4).Value просто возвращает первое значение XElement.

Есть мысли?

1 Ответ

3 голосов
/ 01 октября 2010

Вам нужно будет сделать Select для преобразования результатов из XElement с в string с.

Dim chapterTitles = details.<Vector>.<Item>.Skip(1).Take(4).Select(Function(item) item.Value)

или

Dim chapterTitles = From item In details.<Vector>.<Item>.Skip(1).Take(4) _
                    Select item.Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...