2014-02-08 35 views

回答

1

堆棧溢出問題,應該表現出的努力來解決這個問題最少量。這不是免費的代碼服務。

儘管如此,以下應該產生的結果您正在請求:

var count = e.Descendants("ITEM_STATUS") 
      .Where(el => "10".Equals((string)el)) 
      .Count(); 
+1

爲什麼' 「10」 .Equals((串)EL)'代替'(INT)EL == 10',或' (string)el ==「10」'?這個語法看起來很奇怪。 – MarcinJuraszek

+1

@MarcinJuraszek如果文檔中的任何ITEM_STATUS元素包含一個非整數值,那麼''== =='會拋出一個'FormatException',所以這值得避免,除非您絕對確信每個'ITEM_STATUS '將包含一個整數值(或者如果你想要發生一個異常,如果它們中的任何一個是非整數的話)。避免使用字符串==是個人喜好,也是Java和C結轉的一部分,但值得注意的是,在[某些情況下](http://stackoverflow.com/a/15090520/1945651)中, '=='可以在C#中爲等效字符串生成'false'。 (續...) – JLRishe

+1

...最後,使用'LITERAL.Equals(VARIABLE)'而不是'VARIABLE.EQUALS(LITERAL)'是對NullReferenceException的防範。在這裏可能不需要,但使用謹慎的,一貫的風格並沒有什麼壞處。 – JLRishe