5
A
उत्तर
11
की तरह कुछ के साथ निम्नलिखित कोड
if (customer.Person!=null)
Console.WriteLine(customer.Person.Name);
स्थान लेते हैं आप कर सकते हैं नहीं, मुझे डर लग रहा - वहाँ ग्रूवी के null- की तरह कुछ भी नहीं है सुरक्षित डेरफ़्रेंसिंग ऑपरेटर :(
मुझे लगता है कि आप व्यक्ति के लिए "शून्य वस्तु" बना सकते हैं - यानी वास्तविक उदाहरण, लेकिन सभी गुणों के साथ शून्य। फिर आप इसका उपयोग कर सकते हैं:
Console.WriteLine((customer.Person ?? Person.Null).Name ?? "Unknown");
... लेकिन यह बहुत भयानक है। (यह भी customer
अशक्त होने के लिए जाँच नहीं है।)
एक अन्य विकल्प व्यक्ति पर एक विस्तार विधि लिखने के लिए होगा:
public static string NameOrDefault(this Person person, string defaultName)
{
return person == null ? defaultName : person.Name ?? defaultName;
}
तब:
Console.WriteLine(customer.Person.NameOrDefault("Unknown");
5
आप इस्तेमाल कर सकते हैं ternary operator:
Console.WriteLine(customer.Person != null ? customer.Person.Name : "unknown");
सबसे अच्छा दिखने वाला कोड नहीं है, लेकिन फिर भी एक लाइनर
संपादित करें: IsNullOrWhiteSpace उपयोग करने के लिए, इस मामले में अपने आवेदन तर्क व्यवहार करता है & अशक्त एक ही तार खाली मत भूलना।
संबंधित मुद्दे
- 1. सी # अशक्त कोलेसिंग अशक्त
- 2. अशक्त
- 3. अशक्त
- 4. सी #: तर्क सत्यापन: अशक्त/खाली स्ट्रिंग
- 5. मैं सी # में एक अशक्त वस्तु
- 6. परीक्षण में ऑब्जेक्टिव-सी अशक्त के लिए
- 7. छनन Django व्यवस्थापक अशक्त/द्वारा अशक्त
- 8. TestContext अशक्त
- 9. "अशक्त" स्मृति
- 10. अशक्त अंतर
- 11. '$ अशक्त =' powershell
- 12. अशक्त जांच
- 13. कैसे अशक्त
- 14. Package.getPackage लौटने अशक्त
- 15. FindName लौटने अशक्त
- 16. लक्ष्य मेजबान अशक्त या parameters.scheme = अशक्त, में सेट नहीं होना चाहिए मेजबान = अशक्त
- 17. PropertyNotFoundException: लक्ष्य नहीं पहुंचा जा सकता, 'अशक्त' अशक्त
- 18. SimpleJdbcTemplate और अशक्त मापदंडों
- 19. getPackageManager() .getInstalledPackages (PackageManager.GET_ACTIVITIES) अशक्त
- 20. क्यों parseJSON रिटर्न अशक्त
- 21. XDocument.Root.Element अशक्त रिटर्न
- 22. ControllerDescriptor FindAction रिटर्न अशक्त
- 23. OpenSubKey लौटने अशक्त
- 24. Url.RouteUrl रिटर्न अशक्त
- 25. imageView getLayoutParams() रिटर्न अशक्त
- 26. टुकड़ा getArguments() रिटर्न अशक्त
- 27. OpenArgs अशक्त त्रुटि
- 28. Type.GetType() लौट अशक्त
- 29. पहुँच देता है अशक्त
- 30. UITextfield.text अशक्त रिटर्न
"Person.Null" का क्या अर्थ है? – Alexandre
@Alex: यह व्यक्ति वर्ग में एक स्थिर संपत्ति होगी, विशेष "शून्य वस्तु" व्यक्ति संदर्भ को वापस कर देगा, जिसमें इसकी सभी संपत्तियां शून्य हैं। –
@Alex: यह एक स्थिर संपत्ति है जो "कोई व्यक्ति" का प्रतिनिधित्व करने वाले व्यक्ति का उदाहरण लौटाती है। यह [शून्य ऑब्जेक्ट पैटर्न] है (http://en.wikipedia.org/wiki/Null_Object_pattern)। – Richard