मैंने देखा कि List<T>
struct
के रूप में अपने गणक को परिभाषित करता है, जबकि ArrayList
अपने गणक को class
के रूप में परिभाषित करता है। क्या फर्क पड़ता है? अगर मैं अपनी कक्षा के लिए एक गणक लिखना चाहता हूं, तो कौन सा बेहतर होगा?गणनाकर्ता कार्यान्वयन: संरचना या कक्षा का उपयोग करें?
संपादित करें: मेरी आवश्यकताओं को yield
का उपयोग करके पूरा नहीं किया जा सकता है, इसलिए मैं अपने स्वयं के एक गणक को लागू कर रहा हूं। उस ने कहा, मुझे आश्चर्य है कि List<T>
की लाइनों का पालन करना बेहतर होगा या इसे एक संरचना के रूप में कार्यान्वित करना बेहतर होगा।
मुझे यह जानने में बेहद दिलचस्पी होगी कि आपको उपज रिटर्न का उपयोग करके समस्या का सामना करना पड़ा। –
1) मुझे "कंपाइलर जादू" से बहुत नफरत है जिसके लिए मुझे यकीन नहीं है कि आउटपुट क्या होगा। (हालांकि मैं इसे सरल परिस्थितियों के लिए उपयोग करूँगा।) –
2) मैं ऐसी सूची का समर्थन करना चाहता हूं जिसे पुनरावृत्ति के दौरान संशोधित किया जा सके। सामान्य इटरेटर अर्थशास्त्र ने इसे मना कर दिया। (और मुझे नहीं पता कि संकलक कैसे जानता होगा कि मेरी सूची संशोधित की गई थी!) –