Convert.ToString((object)null)==""Convert.ToString(null)==null通常object到string有四種方式(假設有objectobj):obj.ToString(),Convert.ToString()、(string)obj,objasstring.。都能將object物件轉換成string物件。異同以及在實際中應該使用:
1.前兩個方法通常是由別的物件得到string物件,它們間的區別只表現在要轉換的物件為null時,如果obj為null,呼叫obj.ToString方法會導致NullReferenceException異常,呼叫Convert.ToString不會丟擲異常而返回一個null。
2.用強制轉換(string)obj要求obj的執行時型別必須是string。如果不是,就會丟擲異常。用as方法則會相對平穩,當obj的執行時型別不是string時會返回null而不丟擲異常。
3.所以在通常在需要得到某個物件的string表達形式時,應該使用ToString和Convert.ToString,這時候就得根據情形選一個,假如保證物件不為null,則兩個差不多。如果有可能為null,就應該用Convert.ToString,如果希望它為null的時候丟擲異常,那麼當然可以選擇ToString。
Convert.ToString((object)null)==""Convert.ToString(null)==null通常object到string有四種方式(假設有objectobj):obj.ToString(),Convert.ToString()、(string)obj,objasstring.。都能將object物件轉換成string物件。異同以及在實際中應該使用:
1.前兩個方法通常是由別的物件得到string物件,它們間的區別只表現在要轉換的物件為null時,如果obj為null,呼叫obj.ToString方法會導致NullReferenceException異常,呼叫Convert.ToString不會丟擲異常而返回一個null。
2.用強制轉換(string)obj要求obj的執行時型別必須是string。如果不是,就會丟擲異常。用as方法則會相對平穩,當obj的執行時型別不是string時會返回null而不丟擲異常。
3.所以在通常在需要得到某個物件的string表達形式時,應該使用ToString和Convert.ToString,這時候就得根據情形選一個,假如保證物件不為null,則兩個差不多。如果有可能為null,就應該用Convert.ToString,如果希望它為null的時候丟擲異常,那麼當然可以選擇ToString。