सी # में मैं LINQ और IENumerable का उपयोग करता हूं। और सब अच्छी और अच्छी है (या कम से कम ज्यादातर)।क्या सी # में एक "खाली सूची" सिंगलटन है?
हालांकि, कई मामलों में मुझे खुद को लगता है कि मुझे डिफ़ॉल्ट के रूप में खाली IEnumerable<X>
की आवश्यकता है। यही है, मुझे
for (var x in xs) { ... }
बिना किसी शून्य-जांच की आवश्यकता के काम करना होगा। , है कि अगर कोई सरणी बनाने के साथ किसी भी "अतिरिक्त भूमि के ऊपर" है -
var xs = f() ?? new X[0]; // when xs is assigned, sometimes
for (var x in xs ?? new X[0]) { ... } // inline, sometimes
अब, जबकि ऊपर पूरी तरह से मुझे के लिए ठीक है: अब यह है कि क्या मैं वर्तमान में व्यापक संदर्भ पर निर्भर करता है, करते हैं वस्तु मैं सिर्फ परवाह नहीं है - मैं सोच रहा था:
वहाँ "खाली अपरिवर्तनीय IEnumerable/IList" में सी #/सिंगलटन नेट है।? (और, भले नहीं हैं, वहाँ एक "बेहतर" जिस तरह से मामले में ऊपर वर्णित को संभालने के लिए है?)
जावा Collections.EMPTY_LIST
अपरिवर्तनीय सिंगलटन है - है, जो इस उद्देश्य को पूरा करता है, हालांकि मैं - "अच्छी तरह से आपके द्वारा लिखा गया" Collections.emptyList<T>()
के माध्यम से मुझे यकीन नहीं है कि एक समान अवधारणा सी # में भी काम कर सकती है क्योंकि जेनेरिकों को अलग-अलग संभाला जाता है।
धन्यवाद।
खैर, डारन :) यही वह सूची है जो मुझे सूची/IList पर ध्यान केंद्रित करने के लिए मिलता है और संख्यात्मक/IENumerable नहीं, धन्यवाद - सभी के आसपास वोट। –
http: // stackoverflow।com/प्रश्न/3229698/कैसे-कर सकते हैं-ए-वापसी-एक-खाली IEnumerable –
'सार्वजनिक स्थैतिक कक्षा सरणी {public static केवल पढ़ने के लिए टी [] रिक्त = नई टी [0]; } 'और इसे इस तरह कहा जा सकता है:' ऐरे । लक्षण '। मैंने इसके बारे में पूछा [यहां कोड समीक्षा] (http://codereview.stackexchange.com/q/20417/17039)। –