2014-11-08 50 views
0

我有兩個IEnumerable<string>我可以合併兩個IEnumerable的<string>到了IEnumerable <字符串,字符串>

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; } 
    } 
+3

根據該標準you'd想加入他們嗎? – 2014-11-08 18:57:59

+0

@SebastianPiu,不要理解'哪個標準'。只是想合併他們兩個 – Simsons 2014-11-08 19:02:18

+1

@Simsons:他問你是什麼意思的「合併」。我發佈了一個假設一個可能含義的答案。但是你可以輕易地意味着完全不同的東西如果我的回答沒有解決您的問題,請展示您期望的輸入示例以及您希望從中獲得的輸出。 – 2014-11-08 19:03:31

回答

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)); 
} 
相關問題