सी # 7 के साथ # 7 स्विच मामले पैटर्न नामक नई सुविधा है, जो आपको Is-अभिव्यक्ति के साथ उपयोग करें या इस तरह के मामलों स्विच कर सकते हैं का परिचय मामला # 1 के अंदर जाता है, क्योंकि यह वही प्रकार है, लेकिन ऐसा नहीं हुआ।सी अशक्त चेकों
उत्तर
वास्तव में वे स्ट्रिंग पर शून्य के कारण नहीं हैं।
विचार है कि स्विच # 7 ग में पैटर्न के साथ मामलों अशक्त जाँच मामलों का मूल्यांकन करते हुए, और यदि आप अपने अशक्त मामले की जांच में नहीं जोड़ा था, यह डिफ़ॉल्ट मामले के लिए जाना जाएगा के लिए एक अन्य मामले कहते है, तो इस नई सुविधा का उपयोग करते समय एक शून्य मामला जोड़ना बेहतर है, या डिफ़ॉल्ट रूप से इसे छोड़ दें यदि आप जानते हैं कि डिफ़ॉल्ट क्या करेगा।
उम्मीद है कि यह मदद करता है!
नहीं, यह इसके पीछे विचार नहीं है। बात यह है कि कैसे .NET हुड के नीचे काम करता है। मेरा उत्तर देखें जो बताता है कि यह पैटर्न कैसे लागू किया गया है। –
आप क्या सोच सकते हैं इसके बावजूद, string x = null
वास्तव में एक स्ट्रिंग नहीं है। यह 'कुछ भी नहीं' है, जो टाइप स्ट्रिंग के चर के लिए असाइन किया गया है।
आपके स्विच में चेक मूल रूप से null is string
जैसा है जो false
पहले से ही लंबे समय से है। जेनेरिक के साथ प्रकारों का मूल्यांकन करते समय यह एक आम मुद्दा है, लेकिन इसके प्लस पक्ष भी हैं।
हुड के तहत, is
एक शून्य जांच के साथ as
का उपयोग करता है। इसलिए यही सच नहीं हो सकता है। आप कह सकते हैं कि is
ऑपरेटर के लिए तर्क निम्नानुसार है:
is = (null as string) != null
धन्यवाद @ पैट्रिक-होफमैन और एक शून्य मामला बनाने की अवधारणा अगर मैंने एक प्रदान नहीं किया। क्या ये सही है? – MAbdulHalim
हां। यही एकमात्र विकल्प है। –
धन्यवाद @ पैट्रिक-होफमैन – MAbdulHalim
- 1. कई से बचने के लिए कैसे अशक्त चेकों
- 2. सी # अशक्त कोलेसिंग अशक्त
- 3. सभी अक्षम checkstyle चेकों
- 4. सी # - अशक्त
- 5. सी #, अस्पष्ट अशक्त जांच
- 6. अशक्त
- 7. नई अशक्त लौटने ऑपरेटर सी #
- 8. अशक्त/वस्तु और अशक्त/अशक्त तुलना दक्षता
- 9. अशक्त
- 10. this.NavigationController अशक्त
- 11. सी #: तर्क सत्यापन: अशक्त/खाली स्ट्रिंग
- 12. मैं सी # में एक अशक्त वस्तु
- 13. कैसे 6 अशक्त-सशर्त सी # <6
- 14. परीक्षण में ऑब्जेक्टिव-सी अशक्त के लिए
- 15. छनन Django व्यवस्थापक अशक्त/द्वारा अशक्त
- 16. त्रिगुट अभिव्यक्ति कभी कभी नजरअंदाज संकलक चेकों सत्यापन
- 17. TestContext अशक्त
- 18. AppDomain.CurrentDomain.SetupInformation.PrivateBinPath अशक्त
- 19. "अशक्त" स्मृति
- 20. अशक्त जावा
- 21. अशक्त अंतर
- 22. '$ अशक्त =' powershell
- 23. अशक्त जांच
- 24. कैसे अशक्त
- 25. Package.getPackage लौटने अशक्त
- 26. अशक्त प्रचार ऑपरेटर
- 27. FindName लौटने अशक्त
- 28. अशक्त-सशर्त ऑपरेटर और! =
- 29. अशक्त सशर्त ऑपरेटर्स
- 30. अशक्त कोलेसिंग ऑपरेटर कोणीय 2
"जैसा कि यह वही प्रकार है" - वास्तव में नहीं। यदि आप ऑब्जेक्ट ओ = str करते हैं; बूल isString = o स्ट्रिंग है; 'फिर 'isString' गलत होगा ... –
हाँ, सही, एक नल स्ट्रिंग सिस्टम का संदर्भ नहीं देती है। स्ट्रिंग ऑब्जेक्ट – MAbdulHalim
@ जोनस्केट, यदि आप नीचे मेरा उत्तर देखते हैं तो मैं सराहना करता हूं, और इसकी समीक्षा करें। – MAbdulHalim