मुझे यह दस्तावेज नहीं मिला, इसलिए मैं सोच रहा हूं कि क्या यह मायने रखता है ...

सक्रिय निर्देशिका के साथ आपको प्राधिकरण उद्देश्यों के लिए ऐप आईडी, ऑब्जेक्ट आईडी आदि की तुलना करने की आवश्यकता हो सकती है। चूंकि ऐप आईडी और ऑब्जेक्ट आईडी केवल यादृच्छिक रूप से जेनरेट किए गए GUID हैं जो पहले एक ही स्थान पर उत्पन्न होते हैं, और फिर उन्हें हर जगह कॉपी किया जाता है, मुझे कोई अच्छा कारण नहीं दिखता है कि इन पहचानकर्ताओं का मामला कभी भी बदलेगा या भिन्न होगा . तो मुझे लगता है कि ज्यादातर समय केस संवेदनशील तुलना करने के लिए यह 'ठीक' है।

लेकिन GUID को आम तौर पर असंवेदनशील रूप से पार्स किया जाता है, इसलिए तार्किक रूप से ऐसा लगता है कि केस-असंवेदनशील तुलना करना भी ठीक होना चाहिए। और यह सबसे व्यापक रूप से संगत दृष्टिकोण होगा।

तो निष्कर्ष है... यह वास्तव में कोई फर्क नहीं पड़ता... लेकिन केस-असंवेदनशील को प्राथमिकता दी जानी चाहिए, है ना? यदि नहीं, तो क्यों नहीं?

0
Tim Lovell-Smith 7 अप्रैल 2020, 19:48

1 उत्तर

सबसे बढ़िया उत्तर

कवर के अंतर्गत, GUID (या UUID) एक 128-बिट संख्या है। पाठ प्रतिनिधित्व में अक्षर वास्तव में अक्षर नहीं हैं: वे आधार 16 में संख्याएं हैं, जहां ए-एफ 9 के बाद आता है। इसलिए मामले में कोई फर्क नहीं पड़ता।

यदि आप स्ट्रिंग अभ्यावेदन की तुलना कर रहे हैं, तो केस-इंसेंटिव तुलना करने में कोई बुराई नहीं है। हालांकि, वास्तविक संख्यात्मक मान की तुलना करना और भी बेहतर (और थोड़ा तेज़) है। उदाहरण के लिए, .NET में Guid संरचना, जहां समानता ऑपरेटर तुलना करता है मूल्य में प्रत्येक बाइट।

1
Gabriel Luci 7 अप्रैल 2020, 17:22