欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于System.Convert的那些事兒

 更新時間:2013年05月14日 12:36:13   作者:  
本篇文章是對System.Convert的那些事兒,進行了詳細的分析介紹,需要的朋友參考下
經(jīng)??吹酵聦懘a:
bool? obj=從服務(wù)器返回來的值,可能為null。
復(fù)制代碼 代碼如下:

if(obj !=null && Convert.ToBoolean(obj)==true)
{
    //Do something
}

上面的代碼的意圖很明顯,先判斷obj 是不是null,如果不是null 的話,再調(diào)用Convert.ToBoolean方法,判斷是不是True。

上面的方法沒有任何問題,但有一點要確認的是, obj!=null 這句話需要判斷嗎?

于是筆者寫了下面的代碼來對Convert的ToXXX方法傳遞null值進行測試。

image

可以看到,method.Invoke(null,new object[]{null})
刻意的為ToXXX方法傳遞null值。


結(jié)果如下:
clip_image004

從而證明了,對Convert的ToXXX方法傳遞null值是不會跑出異常的,并且會返回默認的值,
例如int:0,  string:"",  char:'\0',  bool:false;


這代表上面的代碼可以簡化為

復(fù)制代碼 代碼如下:

if(Convert.ToBoolean(obj))
{
//Do something.
}

順帶提一下,
下面的代碼會跑出異常.Convert.ToChar(null);
但是下面這段代碼不會:

object obj=null;
Convert.ToChar(obj);返回'\0',空字符.

Convert.ToChar(null)在內(nèi)部實際調(diào)用的是 Convert.ToChar(null, null),然而ToChar(null,null)的實現(xiàn)如下:

復(fù)制代碼 代碼如下:

if (value == null)
{
     throw new ArgumentNullException("value");
}
if (value.Length != 1)
{
     throw new FormatException(Environment.GetResourceString("Format_NeedSingleChar"));
}
return value[0];

所以,直接傳null值會出現(xiàn)異常。

相關(guān)文章

  • C#實現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換

    C#實現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換

    這篇文章介紹了C#實現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#操作SQLite方法實例詳解

    C#操作SQLite方法實例詳解

    這篇文章主要介紹了C#操作SQLite方法,以實例形式詳細分析了C#操作SQLite的連接、查詢、插入、修改等相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Unity實現(xiàn)3D循環(huán)滾動效果

    Unity實現(xiàn)3D循環(huán)滾動效果

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)3D循環(huán)滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • String.Format大全(C# Java)

    String.Format大全(C# Java)

    String.format無論是在C#中還是在java中應(yīng)用都非常廣泛,今天小編抽個時間把有關(guān)string.format知識總結(jié)分享給大家,需要的朋友可以參考下
    2015-09-09
  • C#中 paint()與Onpaint()的區(qū)別

    C#中 paint()與Onpaint()的區(qū)別

    paint是事件onpaint方法onpaint方法是調(diào)用paint事件的,用哪一個,效果是一樣,就看那一個方便了內(nèi)部是這樣實現(xiàn)的:
    2013-04-04
  • C#導(dǎo)出數(shù)據(jù)到CSV文件的通用類實例

    C#導(dǎo)出數(shù)據(jù)到CSV文件的通用類實例

    這篇文章主要介紹了C#導(dǎo)出數(shù)據(jù)到CSV文件的通用類,將C#操作CSV文件的常用技巧封裝進一個通用類中以方便調(diào)用,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C#使用HttpWebRequest重定向方法詳解

    C#使用HttpWebRequest重定向方法詳解

    在本篇內(nèi)容里小編給讀者們整理了關(guān)于C#使用HttpWebRequest重定向方法和相關(guān)知識點,需要的朋友們參考下。
    2019-03-03
  • Unity UGUI的LayoutElement布局元素組件介紹使用示例

    Unity UGUI的LayoutElement布局元素組件介紹使用示例

    這篇文章主要為大家介紹了Unity UGUI的LayoutElement布局元素組件介紹使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • C# MJPEG 客戶端簡單實現(xiàn)方法

    C# MJPEG 客戶端簡單實現(xiàn)方法

    這篇文章主要介紹了C# MJPEG 客戶端簡單實現(xiàn)的方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • OpenXml讀取word內(nèi)容的實例

    OpenXml讀取word內(nèi)容的實例

    下面小編就為大家分享一篇OpenXml讀取word內(nèi)容的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12

最新評論