2015-03-31 69 views
5

在VB.Net你可以写:什么是C#相当于VB.Net “IsDBNull以便” 的

If Not IsDBNull(oCustomerNameDataRow(0)) Then 
    cbCustomerName.Items.Add(oCustomerNameDataRow(0).ToString 
End If 

什么方法IsDBNull以便在C#中等价?

+3

https://social.msdn.microsoft.com/Forums/vstudio/en-US/6199433a-a0f6-41e3-a482-d608ef89cf85/what-is- cs-equivalent-for-vbs-isdbnull?forum = netfxbcl – majjam 2015-03-31 13:00:11

+1

对downvoters:这是一个可行的和好的问题 - 要么找到一个理由来举报它(例如它可能已经被问过)或停止downvoting的事情 - 谢谢 – Carsten 2015-03-31 13:06:22

+3

我没有downvote,但它似乎是可以很容易地在MSDN上查找的东西。 – 2015-03-31 13:11:49

回答

6
if (!DBNull.Value.Equals(oCustomerNameDataRow[0])) 
{ 
    //something 
} 

MSDN (DBNull.Value)

+0

是 - 从[System.DBNull](https://msdn.microsoft.com/en-us/library/system.dbnull(v = vs.110).aspx) – Carsten 2015-03-31 13:01:58

4

我要说IsDBNull方法(Microsoft.VisualBasic.Information)的等效位于所述Microsoft.VisualBasic assembley

Public Function IsDBNull(ByVal Expression As Object) As Boolean 
    If Expression Is Nothing Then 
     Return False 
    ElseIf TypeOf Expression Is System.DBNull Then 
     Return True 
    Else 
     Return False 
    End If 
End Function 
Dim result As Boolean = IsDBNull(Nothing) 

IsDBNull方法(System.Convert)地处mscorlib assembley:

public static bool IsDBNull(object value) { 
    if (value == System.DBNull.Value) return true; 
    IConvertible convertible = value as IConvertible; 
    return convertible != null? convertible.GetTypeCode() == TypeCode.DBNull: false; 
} 
bool result = System.Convert.IsDBNull(null);