मैं आम तौर पर सी # में घर पर हूं, और मैं कुछ वीबीएनईटी कोड में एक प्रदर्शन समस्या देख रहा हूं - मैं किसी प्रकार के लिए डिफ़ॉल्ट मान से तुलना करने में सक्षम होना चाहता हूं (जैसे सी # के default
कीवर्ड)।वीबी.नेट में सी # के `डिफ़ॉल्ट 'के बराबर क्या है?
public class GenericThing<T1, T2>
{
public T1 Foo(T2 id)
{
if(id != default(T2)) // There doesn't appear to be an equivalent in VB.NET for this(?)
{
// ...
}
}
}
मुझे विश्वास है कि Nothing
शब्दार्थ ही था नेतृत्व किया था, फिर भी अगर मैं कार्य करें:
Public Class GenericThing(Of T1, T2)
Public Function Foo(id As T2) As T1
If id IsNot Nothing Then
' ...
End If
End Function
End Class
फिर जब T2
Integer
है, और id
का मूल्य 0
है, हालत अभी भी गुजरता है, और if
का शरीर मूल्यांकन किया जाता है। लेकिन अगर मैं करता हूँ:
Public Function Bar(id As Integer) As T1
If id <> Nothing Then
' ...
End If
End Function
फिर शर्त पूरी नहीं कर रहा है, और शरीर का मूल्यांकन नहीं किया है ...
संभवतः डुप्लिकेट [सी # के डिफ़ॉल्ट (टी) के लिए वीबी समकक्ष] (http://stackoverflow.com/questions/833791/vb-equivalent-for-cs-defaultt) – decyclone
@decyclone कि प्रश्न सामान्य मामले को कवर नहीं करता है ; और वास्तव में मेरे प्रश्न में मैं दिखाता हूं कि मुझे ज्यादातर मामलों में 'कुछ भी नहीं' का उपयोग करना है ... –