2011-01-22 105 views
0

我想使它的行爲,如果href.Attributes [「onclick」]存在,那麼我會添加onclick值引用,否則href值。我如何檢查這個內部linq?現在我總是添加href值。LINQ如果語句問題

編輯:

,以及如何在類存在去下一個元素,並且不添加任何東西。我忘記了這一點。

+1

hrefs是來自HtmlAgilityPack還是XmlReader?你必須做的檢查類型取決於... – BrokenGlass 2011-01-22 17:57:10

回答

2

也許......

References = href 
       .Select(href => 
        href.Attributes["onclick"] != null ? 
         href.Attributes["onclick"].Value 
        : href.Attributes["href"].Value) 
       .Distinct(). 
       .ToArray(); 

編輯:

要回答這個問題的更新,只需添加

.Where(href => href.Attributes["class"] == null) 

Select條款之前。

1

假設hrefs是HtmlAgilityPackHtmlNode類型 - 請在您的問題中進行驗證。

編輯補充檢查class屬性:

References = hrefs 
       .Where(href => href.Attributes["class"]==null) 
       .Select(href => (href.Attributes["onlick"]!=null) 
        ? href.Attributes["onlick"].Value 
        : href.Attributes["href"].Value) 
       .Distinct() 
       .ToArray(); 
+0

爲什麼需要過濾那些`href.Attributes [「class」] == null`? – 2011-01-22 18:03:59