2014-02-25 123 views
0

我從數據庫中檢索一些結果,然後將值分配給變量。但是我的記錄中的一些字段也可能包含null。我想在分配值不包含任何空值之前進行檢查。創建助手類的最佳方法

另外還有一些變量,它們是int類型的,所以在解析到特定類型之前要進行檢查。

int iValue=int.parse(Helper.IsNull(dr[colName].toString())); 
string strValue=Helper.IsNull(dr[colName].toString()); 

我應該如何創建一個輔助類,並使用IsNull方法返回什麼值?

感謝

+0

這大概是這麼太廣,有很多的方式來處理這個問題。如果你的值包含null,你會得到一個異常,試圖調用ToString() – sab669

+0

我不同意這個問題太廣泛,我認爲它可以在幾個段落中回答(尤其是如果答案是根據一般邏輯,而不是提供實際的代碼)。但是,您應該重寫問題以清楚地說明您想要的內容。 – Superbest

回答

3

您可以創建一個擴展方法

public static class Extension{ 
    public static T Isnull<T>(this Object value){ 
     if(value == null || value == DBNull.Value) 
      return default(T); 

     (T)Convert.ChangeType(value, typeof(T))); 
    } 
} 

被稱爲所以

int iValue = dr[colName].Isnull<int>(); 
string sValue = dr[colNameStr].Isnull<string>(); 
+0

只是想知道什麼是空值的情況下的價值回報。 – fais

+0

如果它是一個「int」將爲零,如果它是「字符串」將爲空等等,即變量類型的默認值 –

+0

因此我不想它默認返回0 。如果它是空的,我想拋出異常。 – fais