none
關於C#裡 System.DBNull.Value & Convert.IsDBNull 的迷思. RRS feed

  • 問題

  • 想請教一下, 在C# 裡, 我要判斷資料表欄位是否為 Null 值, 是要用

    if (DataTable.Rows[0][0] == System.DBNull.Value)

    {

    }

    還是要用

    if (Convert.IsDBNull(DataTable.Rows[0][0]))

    {

    }

    那一個來做比較好? 為什麼?

    2008年2月21日 上午 06:18

所有回覆

  • 說實在真的沒多大差別,看起來爽就好。

     

    如果真的要龜毛一點,用 Convert.IsDBNull(DataTable.Rows[0][0]) 會比 DataTable.Rows[0][0] == System.DBNull.Value 多一層 Call Stack,可能會慢個千萬分之一秒吧。

     

    ----
    From: Will
    Blog: http://blog.miniasp.com/
    記載著 Will 在網路世界的學習心得與技術分享

    2008年2月21日 上午 08:01
  • 寫程式是看語意,這二種語法做出來的結果可能相同,但語意在每個人的看法不同,我是認為第一個比較好.

    為什麼就跟

    if(i==1) 跟if(i.ToString()=="1")  你覺得哪種較直覺?

     

    2008年2月21日 上午 08:55