==
के साथ स्ट्रिंग की तुलना करना एक अच्छा अभ्यास है? वहाँ string
पर Compare
और Equals
तरीकों के संदर्भ में s1 == s2
के लिए एक बराबर है। यदि कोई उन विधियों का उपयोग करता है, CultureInfo
निर्दिष्ट किए बिना FxCop चेतावनी देगा, क्या यह वास्तविक समस्या है?क्या सी # स्ट्रिंग की तुलना '==' से तुलना करना अच्छा अभ्यास है?
उत्तर
==
ऑपरेटर एक क्रमसूचक है, संस्कृति अनजान स्ट्रिंग की तुलना करें। यह .Equals
के समान आंतरिक कॉल का उपयोग कर रहा है, और "सामान्य" स्ट्रिंग की तुलना सामग्री के लिए ठीक है।
आप संस्कृति वाकिफ comparings (जैसे। जीयूआई प्रयोजनों के लिए), की तरह जर्मन डबल या ß की जरूरत है,
CultureInfo ci = new CultureInfo("de-DE");
String.Compare("Strasse", "Straße", true, ci)
हां, यह अभ्यास ठीक है। आप String.Compare का भी उपयोग कर सकते हैं, और Best Pratices for Using Strings in the .NET Framework में तुलना की गई सर्वोत्तम अभ्यासों की तुलना करें।
हाँ, FxCop, चेतावनी दे देंगे, लेकिन चेतावनी चेतावनी है। यदि आपको संस्कृति की परवाह नहीं है तो उन्हें अनदेखा करना सुरक्षित है। लेकिन, वास्तविक जीवन चेतावनियों की तरह, यह कभी-कभी उन्हें ध्यान देने का भुगतान करता है।
का उपयोग करते हैं आप तार की तुलना, आप तरीकों कि स्पष्ट रूप से निर्दिष्ट किस तरह इस्तेमाल करना चाहिए तुलना करने के लिए आप प्रदर्शन करना चाहते हैं। यह आपके कोड को अधिक रखरखाव और पठनीय बनाता है। जब भी संभव हो, सिस्टम के तरीकों के अधिभार का उपयोग करें। स्ट्रिंग और सिस्टम। उन कक्षाओं को निकालें जो स्ट्रिंगकोम्परिसन गणना पैरामीटर लेते हैं, ताकि आप निर्दिष्ट कर सकें कि किस प्रकार की तुलना निष्पादित करने के लिए है। जब आप तारों की तुलना करते हैं तो == और! = ऑपरेटरों का उपयोग करना टालना सर्वोत्तम होता है। साथ ही, String.Compare का उपयोग करने से बचें उदाहरण के तरीकों के लिए क्योंकि ओवरलोड में से कोई भी स्ट्रिंग कॉम्परिसन नहीं लेता है। इस उत्तर के लिए
bool result = root.Equals(root2, StringComparison.Ordinal);
result = root.Equals(root2, StringComparison.OrdinalIgnoreCase);
bool areEqual = String.Equals(root, root2, StringComparison.Ordinal);
स्रोत::
अपनी आवश्यकताओं पर निर्भर करता है, तो आप अगले तरीकों की पर उपयोग कर सकते हैं http://msdn.microsoft.com/en-us/library/cc165449.aspx
वहाँ MSDN पर extensivedocumentation कि के बारे में क्रमसूचक और संस्कृति में बात करती है संवेदनशील स्ट्रिंग तुलना। साधारण तुलना भाषा विज्ञान के बारे में परवाह नहीं करते हैं और, डिफ़ॉल्ट रूप से, मामले से संबंधित होंगे। संस्कृति-संवेदनशील तुलना भाषा विज्ञान (मामलों, पतन, आदि) के बारे में परवाह करते हैं।
यह article डॉटनेटपरल्स पर प्रदर्शन प्रभाव में खोदता है और स्ट्रिंग तुलना (==
और equals
) के दो तरीकों के लिए आईएल और बेंचमार्क भी दिखाता है।
और अंत में, इस question पता चलता है कि ==
सख्ती से एक क्रमसूचक स्ट्रिंग तुलना और स्थानीय स्ट्रिंग्स के लिए उपयुक्त नहीं है।
एक स्ट्रिंग शून्य या खाली हो सकता है (उर्फ "") आप string.IsNullOrEmpty उपयोग करना चाहते हैं (...);
अन्यथा मेरी किताब या सबसे सामान में अपनी ठीक। आप क्या कर रहे हैं पर निर्भर करता है।
- 1. स्ट्रिंग और गणना की तुलना
- 2. कोको में स्ट्रिंग की तुलना करना
- 3. सी ++ की तुलना करें चार सरणी स्ट्रिंग
- 4. सी ++ दो स्ट्रिंग अक्षरों की तुलना करें
- 5. सी # स्ट्रिंग "समानता" तुलना परीक्षण
- 6. डीजेंगो टेम्पलेट स्ट्रिंग की तुलना
- 7. 2 कस्टम ऑब्जेक्ट्स की तुलना करना - सी #
- 8. दो वस्तुओं की तुलना।
- 9. जावास्क्रिप्ट में स्ट्रिंग की तुलना करने का सबसे अच्छा तरीका?
- 10. क्या मॉलोक/फ्री की तुलना में सी 99 वीएलए का उपयोग करना अच्छा विचार है?
- 11. पर्ल की "मानक स्ट्रिंग तुलना आदेश" क्या है?
- 12. इटरेटर्स की तुलना करें, सी ++
- 13. सी - संख्यात्मक तारों की तुलना
- 14. सी ++: दो वैक्टरों की तुलना
- 15. MySQL स्ट्रिंग तुलना
- 16. आईफोन एसडीके की तुलना में मोनो टच कितना अच्छा है?
- 17. एक मूल्य की तुलना में एक पूरे ऐरे की तुलना करना? (सी #)
- 18. स्ट्रिंग तुलना में अक्षर की सही स्थिति क्या है?
- 19. सी # स्ट्रिंग तुलना विधि पहले गैर मैच
- 20. PHP स्ट्रिंग तुलना '=='
- 21. केस असंवेदनशील स्ट्रिंग तुलना
- 22. चार सूचक में स्ट्रिंग इटरेटर की तुलना
- 23. स्ट्रिंग की तुलना में मेरी स्ट्रिंग क्यों विफल रही है?
- 24. सुरक्षित स्ट्रिंग फ़ंक्शन की तुलना करें
- 25. चार/स्ट्रिंग तुलना
- 26. सी - एलएलवीएम की तुलना कैसे करता है?
- 27. क्या सत्यापित है (...) सी ++ कोडिंग में एक अच्छा अभ्यास है?
- 28. दो वैक्टरों की तुलना करें सी ++
- 29. एक SQLite स्ट्रिंग तुलना
- 30. स्ट्रिंग आंशिक तुलना
आप किस तरह की तुलना करना चाहते हैं? –
आप जो तुलना कर रहे हैं उस पर निर्भर करता है - msdn इस http://msdn.microsoft.com/en-us/library/cc165449 के लिए बिल्कुल सही है।एएसपीएक्स – JonH
इस पृष्ठ में एक अच्छा स्पष्टीकरण है: http://www.dotnetperls.com/string-equals – keyboardP