मैं यह जांचने में सक्षम होना चाहता हूं कि कोई मान उसके मान प्रकार के लिए डिफ़ॉल्ट है या नहीं। आदर्श रूप में, मैं कहना चाहता हूँ:जेनेरिक प्रकारों का उपयोग कर डिफ़ॉल्ट मान जांच
DoSomething<TValue>(TValue value) {
if (value == default(TValue)) {
...
}
}
हालांकि, संकलक शिकायत है कि यह TValue और TValue पर एक ==
तुलना नहीं कर सकते।
DoSomething<TValue>(TValue value) {
if (value == null || value.Equals(default(TValue))) {
...
}
}
वहाँ एक और अधिक सुरुचिपूर्ण/सही इस बारे में जाने के लिए रास्ता नहीं है: यह सबसे अच्छा समाधान का है कि मैं अब तक के साथ आ गया है?
यदि आप 'कक्षा' बाधा में फेंकते हैं तो आप 'शून्य' के खिलाफ भी जांच सकते हैं ... –
@Marc - मुझे पता है, इस बिंदु पर यह एक मामला है वरीयता का – ChaosPandion
मैं इस काम को मूल्य और वर्ग प्रकार सहित किसी भी प्रकार के लिए बनाने की उम्मीद कर रहा हूं। – StriplingWarrior