Sunday, 15 May 2011

c# - Avoid Repeating Oneself When Doing A Select From IEnumerable -


मेरे पास IEumerable & lt; XElement & gt; नामक foo है।

मेरे पास यह कोड है

  foo.Select (x = & gt; नया {बार = x.Descendants (नामस्थान + "बार")! = नल? X.Descendants (नामस्थान + "बार") चुनें। (Z = & gt; z.Value)। ToArray (): नई स्ट्रिंग [0]}) .ओएरे ();  

मैं इसे थोड़ा सा नीपर कैसे लिख सकता हूँ? मैं वास्तव में इस भाग को दोहराना नहीं चाहता

  x.Descendants (नामस्थान + "बार")  

एक अतिरिक्त का चयन करें :

  foo। चयन करें (x = & gt; x.Descendants (नामस्थान +" बार "))। चयन करें (x = & gt; नया {बार = x! = नल? X.Select (z = & gt; z.Value) .ओएरेरे (): नई स्ट्रिंग [0]}) .ओएरे ();  

या:

  foo.Select (x = & gt; {var तत्वों = x.Descendants (नामस्थान + "बार"); वापसी नई {बार = तत्व! = नल? तत्व। चयन (z = & gt; z.Value) .ओएरे (): नई स्ट्रिंग [0]}}) .ओएरे ();  

BTW , मुझे नहीं लगता है कि वंशज वापस नल लौटाएंगे। कोई भी पद्धति का उपयोग कर किसी भी तत्व हैं।

  बार = x.Any ()? X.Select (z = & gt; z.Value) .ओएरे (): नई स्ट्रिंग [0]  

No comments:

Post a Comment