我可以合并两个IEnumerable<;字符串>;到IEnumerable<;字符串,字符串>;

本文关键字:字符串 lt gt IEnumerable 合并 我可以 两个 | 更新日期: 2023-09-27 18:29:52

我有两个IEnumerable<string>

IEnumerable<String> titleCollection = htmlDoc.DocumentNode.SelectNodes("//h2[@class=
'entry-title']/a").Select(x => x.InnerHtml);
IEnumerable<String> allImages = htmlDoc.DocumentNode.SelectNodes("//div[@class=
'entry-thumbnail hover-thumb']/a/img").Select(x => x.Attributes["src"].Value);  

有可能将它们合并为单个IEnumerable<HTMLELEmsnts>吗?当然会有并发症,但有办法吗。

class HTMLElements
    {
        //private string _articeName;
        public string ArticleName { get; set; }
        public string ImageURL { get; set; }
    }

我可以合并两个IEnumerable<;字符串>;到IEnumerable<;字符串,字符串>;

没有IEnumerable<string, string>这样的东西。IEnumerable<T>只有一个类型参数。

但是您可以使用Enumerable.Zip<TFirst, TSecond, TResult>来创建IEnumerable<Tuple<string, string>>或类似的内容。

编辑:

根据最新的问题,你可能想要这样的东西:

IEnumerable<HTMLElements> Merge(IEnumerable<string> names, IEnumerable<string> urls)
{
    return names.Zip(urls, (name, url) => new HTMLElements(name, url));
}