c# - Is IOrderedEnumerable<T> an inherently immutable collection? Should/can I yield? -
मेरे पास IOrderedEnumerable & lt; T & gt;
संग्रह के आसपास मेरा सिर नहीं हो सकता है।
अगर मेरे पास एक क्षेत्र है, my_field
प्रकार IOrderedEnumerable & lt; T & gt;
, और मैं इसे एक सार्वजनिक संपत्ति प्राप्तकर्ता से वापस करना चाहता हूं, क्या मैं बस वापस कर सकता हूँ my_field;
? आंतरिक रूप से संगठित संग्रह में बाहरी संशोधन को रोकने के लिए, मुझे उपज
आईआईएन परिणाम के लिए एक IEnumerable & lt; T & gt;
के लिए उपयोग किया जाता है, लेकिन ऐसा लगता है कि यह आवश्यक नहीं हो सकता है या नहीं IOrderedEnumerable & lt; T & gt;
के मामले में भी संभव है।
क्या यह सही है?
इसलिए मैं एक वापसी प्रकार IOrderedEnumerable & lt; T & gt;
और उपज
परिणाम एक मनमाने ढंग से करता है, जैसे कि कोडिंग की संरचना को IComparable & lt; T & gt की संपत्ति-आधारित तुलना के बजाय परिभाषित किया जाता है ;
रों? क्या यह T
में IOrderedEnumerable & lt; T & gt;
में हमेशा IComparable
?
.NET एपीआई में जो इस इंटरफ़ेस को कार्यान्वित करता है, या प्रकार केवल LINQ एक्सटेंशन के उपयोग के द्वारा रनटाइम पर उत्पन्न होता है?
आप सुरक्षित रूप से IOrderedEnumerable & lt; T & gt;
वापस कर सकते हैं; यह अपरिवर्तनीय है।
यह केवल आंतरिक आज्ञादंडनीय
वर्ग System.Linq
में लागू होता है, जो अपरिवर्तनीय भी है।
Comments
Post a Comment