當我們從數據中獲取到數據,一般會使用 DataTable 接收,然后會遍歷每行數據。由於從數據庫中讀取的數據可能為空,比如我們的編譯代碼如下:
foreach (DataRow datarow in dataTable.Rows) { // 如果列中有一列的名稱為name,當我們需要判斷是否為空時,該怎么寫 datarow["name"] }
直接寫為
datarow["name"] == null
由於 datarow["name"] 會返回一個對象 object,而這個對象總是不為空的,所有這樣判斷永遠不會成立。
經過調試可以看到 datarow["name"] 的類型為 DBNull,DBNull 表示不存在的值
因此可以使用下面的判斷獲取到的數據是否為空:
if (datarow["name"] == DBNull.Value) {}