arrays - Best way to convert an IEnumerable<T> to an T[] -


एक जेनेरिक IEnumerable & lt; T & gt; से कार्यान्वयन करने का सबसे अच्छा तरीका क्या है टी? वर्तमान हल मुझे निम्न की तरह दिखता है:

  IEnumerable & lt; स्ट्रिंग & gt; Foo = getFoo (); स्ट्रिंग [] बार = नई सूची & lt; स्ट्रिंग & gt; (foo) .ओएरे ();  

एक सूची & lt; T & gt; के माध्यम से स्थानांतरण अनावश्यक लगता है, लेकिन मैं इसे करने का एक बेहतर तरीका नहीं मिल पा रहा हूं।

< P> नोट: मैं सी # 2.0 में काम कर रहा हूं।

सामान्यतया, जो प्रयोग किया जाएगा इसके साथ आरंभ किया और फिर कॉल करना संभवतः ऐसा करने का सबसे आसान तरीका है।

यह देखने के लिए कि IEnumerable & lt; T & gt; यह देखने के लिए कि क्या यह आइटमों की संख्या ठीक से प्राप्त करने के लिए लागू है सूची की क्षमता को प्रारंभ करना यदि नहीं, तो यह सामान्य रूप में विस्तार होगा।

बेशक, आप IEnumerable & lt; transforming के उद्देश्य के लिए कई सूची & lt; T & gt; उदाहरण बना सकते हैं; T & gt; से टी [] । इसके लिए, आप अपनी खुद की विधि लिख सकते हैं, लेकिन आप वास्तव में कोड का दोहरायन करेंगे जो पहले से ही सूची & lt; T & gt; में मौजूद है।


Comments