ToString()、Convert.ToString()、(string)、as string 的区别
通常 object 到 string 有四種方式(假設有object obj):obj.ToString()、Convert.ToString()、(string)obj、obj as string。他們都能將 object 對象轉換成 string 對象。我就講講他們的異同以及在實際中應該使用哪個。
前兩個方法通常是由別的對象得到 string 對象,它們間的區別只表現在要轉換的對象為 null 時,如果 obj 為 null,調用 obj.ToString 方法會導致 NullReferenceException 異常,調用 Convert.ToString 不會拋出異常而返回一個 null。
用強制轉換 (string)obj 要求 obj 的運行時類型必須是 string。如果不是,就會拋出異常。
用 as 方法則會相對平穩,當 obj 的運行時類型不是 string 時會返回 null 而不拋出異常。
所以在通常在我們需要得到某個對象的 string 表達形式時,我們應該使用 ToString 和 Convert.ToString,這時候你就得根據情形選一個,假如你能保證你的對象不為 null,則兩個差不多。如果有可能為 null,你就應該用 Convert.ToString,如果你希望它為 null 的時候拋出異常,那么當然可以選擇 ToString。
編者注:
這里是說 object 到 string,如果在其它類型上調用第一種 ToString(),得到的不一定是實際的內容,可能是對該類的描述,這取決于該類如何實現 ToString() 方法。
轉載于:https://www.cnblogs.com/tonywang711/archive/2009/10/26/ToString.html
總結
以上是生活随笔為你收集整理的ToString()、Convert.ToString()、(string)、as string 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Microsoft Visual Stu
- 下一篇: websphere日志出现乱码