2015-03-31 26 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);