通常 object 到 string 有四種方式(假設(shè)有object obj):obj.ToString(),、Convert.ToString()、(string)obj,、obj as string,。他們都能將 object 對象轉(zhuǎn)換成 string 對象。我就講講他們的異同以及在實際中應(yīng)該使用哪個,。 前兩個方法通常是由別的對象得到 string 對象,,它們間的區(qū)別只表現(xiàn)在要轉(zhuǎn)換的對象為 null 時,如果 obj 為 null,,調(diào)用 obj.ToString 方法會導致 NullReferenceException 異常,,調(diào)用 Convert.ToString 不會拋出異常而返回一個 null。 用強制轉(zhuǎn)換 (string)obj 要求 obj 的運行時類型必須是 string,。如果不是,,就會拋出異常。 用 as 方法則會相對平穩(wěn),,當 obj 的運行時類型不是 string 時會返回 null 而不拋出異常,。 所以在通常在我們需要得到某個對象的 string 表達形式時,我們應(yīng)該使用 ToString 和 Convert.ToString,,這時候你就得根據(jù)情形選一個,,假如你能保證你的對象不為 null,則兩個差不多,。如果有可能為 null,,你就應(yīng)該用 Convert.ToString,如果你希望它為 null 的時候拋出異常,,那么當然可以選擇 ToString,。 編者注: 這里是說 object 到 string,如果在其它類型上調(diào)用第一種 ToString(),得到的不一定是實際的內(nèi)容,,可能是對該類的描述,,這取決于該類如何實現(xiàn) ToString() 方法,。 |
|