संग्रह को IEnumerable.Last()
(LINQ) पर कॉल करने के लिए यह पता लगाने के लिए .NET कोर स्रोत पर एक नज़र डाली गई थी कि संग्रह IList
लागू करता है, जिसे मुझे कुछ त्वरित बेंचमार्किंग के बाद मामला होने का संदेह है। It turns out that yes, the input is specifically checked for IList
, हालांकि, इससे पहले भी, यह जांच की जाती है कि इनपुट IPartition
लागू करता है या नहीं। IPartition
is defined here, लेकिन मुझे यह समझ में नहीं आता कि यह क्या करना है।.NET कोर में आईपर्टिशन क्या करता है?
IPartition
का उद्देश्य क्या है और कैसे यह संभवतः IList
का आमतौर पर निरंतर बार अनुक्रमण की तुलना में तेजी (या अगर यह नहीं है, यही कारण है कि इनपुट IPartition
के लिए पहले IList
से चेक किया गया है) हो सकता है?
ऐसा लगता है कि डेटा का सबसेट बनाने के लिए 'टेक' जैसी विधियों द्वारा उपयोग किया जाता है। ध्यान रखें कि 'IQueryable' और इसी तरह का उपयोग करते समय डेटा पूरी तरह से लोड होने से पहले कई linq विधियों को बुलाया जा सकता है। 'आईपर्टिशन' के लिए जांच करने से कुछ चुस्त अनुकूलन की अनुमति मिल सकती है। –