2012-03-27 10 views
5

मुझे यहां पहिया को फिर से शुरू करना होगा - लेकिन मैंने खोज की है और मुझे कुछ भी नहीं मिला है ...अलग ऑब्जेक्ट्स का अनुक्रम बनाने के लिए लिंक विधि?

शून्य या अधिक ऑब्जेक्ट्स का अनुक्रम बनाने के लिए मेरा कोड यहां एक डिफ़ॉल्ट कन्स्ट्रक्टर है:

public static IEnumerable<T> CreateSequence<T>(int n) where T: new() 
{ 
    for (int i = 0; i < n; ++i) 
    { 
     yield return new T(); 
    } 
} 

मेरा प्रश्न काफी सरल है: क्या इसके बारे में एक लिंक बराबर है जिसका उपयोग करना चाहिए?

उत्तर

8

इस प्रयास करें:

Enumerable.Range(1,count).Select(_ => new T()); 

Enumerable.Range पैरामीटर के रूप में निर्दिष्ट श्रेणी से आप वर्तमान संख्या दे देंगे, लेकिन आप बस अनदेखा कर सकते हैं (उदाहरण में _ के रूप में नामित)।

+0

बहुत धन्यवाद। मैंने इसे समय दिया और (रिलीज बिल्ड में) यह मेरे हाथ से लुढ़का दृष्टिकोण से काफी तेज है। –

0

हां वहाँ है: var items = Enumerable.Repeat(new YourClass(), 10);

+0

यह रिटर्न * एक ही आइटम * 10 गुना, 10 अलग-अलग आइटम नहीं। – Jon

+0

उस बारे में पहले भी सोचा, लेकिन यह एक बार एक नया आइटम तैयार करेगा और हर समय इसका उपयोग करेगा, और वह अलग-अलग वस्तुओं को चाहता है। – Botz3000

संबंधित मुद्दे