从Linq查询结果中获取一个字符串

时间:2016-10-08 23:39:57

标签: c# linq

我正在尝试制作一个机器人,在网上搜索特定的术语和类似的东西,在这种情况下,网页是duckduckgo;我有Linq代码:

        internal async Task<IEnumerable<SearchResult>> Search(string query)
    {
        string xml = await new WebClient()
        .DownloadStringTaskAsync($"http://api.duckduckgo.com/?q={query}&format=xml");
        var root = XElement.Parse(xml);

        return root.Descendants("RelatedTopic").Take(1)
            .Select(t => new SearchResult
            {
                Text = t.Element("Text")?.Value
            });
    }

    internal class SearchResult
    {
        internal string Text { get; set; }
    }

我试图将结果转换为字符串,这样我就可以将链接发送到聊天中,就像字符串一样。我整体代码没有任何问题;我只是想知道我是怎么做到的。那是整个代码;没有更多的东西干扰它。

1 个答案:

答案 0 :(得分:1)

使用Object.ToString()方法:

Text = t.Element("Text")?.Value?.ToString();