我可以将两个IEnumerable <string>合并到IEnumerable <string,string>

Sim*_*ons 0 c# linq ienumerable

我有两个 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);  
Run Code Online (Sandbox Code Playgroud)

是否有可能将它们合并为单一IEnumerable<HTMLELEmsnts>.确定会有并发症,但有没有办法.

class HTMLElements
    {
        //private string _articeName;

        public string ArticleName { get; set; }
        public string ImageURL { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

Pet*_*iho 6

没有这样的事情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));
}
Run Code Online (Sandbox Code Playgroud)