संभव डुप्लिकेट:
C# - List<T> or IList<T>मुझे सूची <T> पर आईएलआईस्ट <T> क्यों वापस करनी चाहिए?
यह सब खत्म हो गया लिखा है, ताकि आप अपने तरीकों से IList<T>
और नहीं List<T>
लौटना चाहिए, लेकिन मैं किसी भी वास्तव में अच्छा कारण नहीं मिल रहा। मुझे लगता है कि यह करता है कोड ढूंढ पाएं, और फिर बुला कोड आमतौर पर दो परिणाम होते हैं में से एक:
- कॉल
new List<T>(returnedIList)
तो डाले सूची - पर सभी अच्छा तरीकों का उपयोग कर सकते हैं वापस
List<T>
को तो यह सब का उपयोग कर सकते सूची पर अच्छा तरीकों
पहले एक भद्दा है और दूसरा एक (क्रम)InvalidCastException
अगर कार्यान्वयन वास्तव में किसी और वैसे भी कुछ (जो बनाता है यह पूरी तरह से s में बदला फेंक tupid)।
यदि मैं List<T>
का उपयोग करता हूं और किसी कारण से इसे IList<T>
के कार्यान्वयन के साथ प्रतिस्थापित करना है, तो मुझे List<T>
से प्राप्त नहीं हो सकता है, तो मुझे बिल्ड त्रुटियां मिलेंगी और कुछ कोड बदलना होगा। यह शायद बहुत ही असंभव है और यदि ऐसा होता है, तो यह ठीक करने के लिए बहुत काम नहीं है। निश्चित रूप से List<T>
के लाभों को खोने और/या List<T>
(मौजूद, ढूँढें, आदि) को इस संभावित परिदृश्य के लिए वापस लाने के लिए लायक नहीं है?
तो, क्या IList<T>
लौटने के लिए अन्य कारण हैं?
न केवल यह "एसओ पर लिखा गया है", यह सवाल पहले ही पूछा जा चुका है और उत्तर दिया गया है! –
माफी - परिणाम के 3 पृष्ठों के बाद मैंने देखा - एसओ "प्रासंगिकता" हाल ही में मेरे लिए थोड़ा दूर लग रहा है! इस उत्तर के साथ जा रहे हैं: http://stackoverflow.com/questions/400135/c-listt-or-ilistt/1522826#1522826; डी –
कोई माफी मांगनी नहीं है, एसओ पर सीमित सीमित उपयोगिता है। मैंने साइट पर Google पर खोज की: stackoverflow.com! डुप्ली खोजने के लिए! –