तो, कई बार हमारे पास ऐसा फ़ंक्शन होता है जो पैरामीटर के रूप में एक आईनेमेरेबल या आईसीओलेक्शन स्वीकार करता है। ,IENumerable <T> या ICollection <T> बनाने के लिए सबसे आसान और सबसे कॉम्पैक्ट तरीका क्या है?
T o1, o2, o3;
Foo(new T[] { o1, o2, o3 });
मैं हमेशा किसी सरणी या एक सूची बनाई है की तरह मैं: ऐसे मामलों में जहां हम एक आइटम नहीं हैं, लेकिन कोई संग्रह उन्हें पकड़ करने के लिए हमें की तरह कार्य करने के लिए उन्हें गुजर, इससे पहले कि एक संग्रह बनाना चाहिए पिछले उदाहरण में किया है। लेकिन मुझे आश्चर्य है, क्या आवश्यक IENumerable या ICollection बनाने के लिए एक और शानदार तरीका है?
यह काफी शांत हो सकता है अगर एक ऐसा कर सकता है:
Foo({ o1, o2, o3 });
और संकलक सबसे अमूर्त संभव संग्रह है कि IEnumerable या ICollection की जरूरतों को पूरा करेगे (पर समारोह को स्वीकार करता है जो एक आधार)।
किसी भी तरह, आप एक IENumerable या ICollection पैरामीटर के लिए ओ 1, ओ 2 और ओ 3 कैसे पारित करेंगे?
मेरा सुझाव है कि 'AsList()' नहीं एक अच्छा नाम एक तरीका है जिसके एक 'Enumerable', नहीं' List' रिटर्न के लिए है! 'एन्यूमेरेबल.क्रेट 'के बारे में कैसे? –