N # में अशक्त-सहवर्ती ऑपरेटर आपको कोड को छोटा करने की अनुमति देता है
if (_mywidget == null)
return new Widget();
else
return _mywidget;
नीचे करने के लिए:
return _mywidget ?? new Widget();
मुझे पता चलता है कि एक उपयोगी ऑपरेटर जिसे मैं सी # में रखना चाहता हूं वह वह होगा जो आपको किसी वस्तु की संपत्ति वापस करने की अनुमति देता है, या यदि वस्तु शून्य है तो कुछ अन्य मूल्य। इसलिए मैं बदलना चाहूंगा
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
साथ में:
return _mywidget.Length ??! 5;
मैं यह सोचने में मदद नहीं कर सकता कि इस ऑपरेटर के मौजूद न होने का कोई कारण होना चाहिए। क्या यह एक कोड गंध है? क्या इसे लिखने का कोई बेहतर तरीका है? (मैं अशक्त वस्तु पैटर्न से अवगत हूं, लेकिन कोड की इन चार पंक्तियों को बदलने के लिए इसका उपयोग करना अधिक कठिन लगता है।)
??!
C ++ में एक ऑपरेटर है। :-)