में Nullablle <> 'और "null" मैं F # से XNA ढांचे में फ़ंक्शंस कॉल कर रहा हूं जो Nullable मान स्वीकार करता है। अब, सी # में, आप बस कॉल करेंगे:F #
foo(arg1, arg2, null, arg4)
अब, मैंने एफ # में कोशिश की, लेकिन इसे पसंद नहीं है। यह कहता है: "त्रुटि 9 टाइप बाधा मेल नहीं है। प्रकार 'ए सिस्टम के साथ संगत नहीं है। अनुपयोगी प्रकार' System.Nullable 'में उचित मूल्य के रूप में' शून्य 'नहीं है।"
मुझे समझ में आता है कि यह क्यों हो रहा है, तरह का, लेकिन यह वास्तव में असुविधाजनक लगता है। मैं अब कर रहा हूं, जीवन को आसान बनाने के लिए, बार-बार (Nullable<Rectangle>)null
टाइप करने की बजाए जब मैं फ़ंक्शन को कॉल करता हूं, मैंने अभी let nullRect = (Nullable<Rectangle>)null
किया है, और nullRect का उपयोग करें। यह वास्तव में बेवकूफ लगता है, खासकर जब से मुझे ऐसा करने के लिए हर शून्य प्रकार के लिए बातचीत करना होगा। क्या इसे संभालने के लिए एक बेहतर, अधिक मूर्ख तरीका है?
साइड-नोट के रूप में, इसे '[] को सरलीकृत किया जा सकता है nl = System.Nullable <_>() '। एफ # शेष हस्ताक्षर का अनुमान लगा सकता है। –
यह वास्तव में साफ है! मुझे अभी तक टॉमस के संक्षेप को आजमाने का मौका नहीं मिला है। सलाह के लिये धन्यवाद! – Perrako
@ टोमास - अच्छी पकड़, यह बहुत अच्छी लग रही है। – kvb