将结果值转换为Linq中的字符串列表

时间:2010-10-01 18:44:44

标签: .net vb.net linq linq-to-xml

我在返回Linq查询的.Value字符串列表时遇到问题:

    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)

是正确的,它返回我想要的XElements列表(项目1 - 4,基数0),但我真的只需要这些XElements的.Value的字符串列表。也许我只是在这里密集,但我在chapterTitles查询中尝试过的任何东西都不起作用(附加.ToList.ToString等)。 details.<Vector>.<Item>.Skip(1).Take(4).Value只返回第一个XElement的值。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您需要Select将结果从XElement转换为string s。

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