對於久經沙場的程式猿來說,類型轉換再熟悉不過了,在代碼中我們也會經常用到。 前幾天,有個學生問我關於類型轉換ToString()和Convert.ToString()的區別,這麼常用的東西我竟然支支吾吾了半天未回答上來,後來查了一下資料總算弄明白了。 首先,將某類型轉換為string,大家會想到幾種 ...
對於久經沙場的程式猿來說,類型轉換再熟悉不過了,在代碼中我們也會經常用到。
前幾天,有個學生問我關於類型轉換ToString()和Convert.ToString()的區別,這麼常用的東西我竟然支支吾吾了半天未回答上來,後來查了一下資料總算弄明白了。
首先,將某類型轉換為string,大家會想到幾種轉換方法呢?
1、ToString();2、Convert.ToString();3、(string);4、as string;
那麼下麵,我們來看一下這四個有什麼區別:
1、首先來看一下ToString()
ToString()是Object的擴展方法,所以都有ToString()方法,但是當返回的數據類型中有可能出現null值時如果調用ToString方法了,就會返回NullReferenceException。
2、Convert.ToString()
Convert.ToString() 轉 null 不會拋出異常,而是返回”“
3、(string)
用強制轉換(string)obj 要求 obj 的運行時類型必須是 string。如果不是,就會拋出異常。
4、as string
as 方法則會相對平穩,當 obj 的運行時類型不是 string 時會返回 null 而不拋出異常
好啦,現在已經明瞭了。