2010-11-11 45 views

回答

19

有區別,是的。每個對象都有一個ToString方法,但不是每個對象都可以轉換爲一個字符串。

int i = 10; 
string s1 = i.ToString(); // OK 
string s2 = (string)i; // Compile error. 

object o = 10; 
string s3 = o.ToString(); // OK 
string s4 = (string)o; // Runtime error. 
10

ToString()產生異常當對象是null(string)轉換沒有。

0

是的,他們都很不同。

string anObjectString = (string)anObject;是類型鑄造或類型轉換隻會是成功的,如果類型轉換爲有效一個

ToString()是可用於在框架的所有對象(或多個)的方法。這是一個虛擬方法,默認實現將返回對象的類型名稱。

我們比較蘋果和橘子在這裏..

0

是,ToString()是一種方法,每一種類型的工具(因爲每一個類型從System.Object其實現方法繼承)。某些類型可能會重寫此方法以提供自己的自定義重寫實現。對ToString()的調用應該總是成功並返回一個字符串實例(儘管對於某些實現它可能爲空)。

var x = new AnyArbitraryObjectType(); 
var y = x.ToString(); // will always succeed (if ToString has not been overridden, or if it has been overridden properly) 

的流延是一個給定的對象引用類型爲字符串的引用的轉換。如果被轉換的引用不是字符串,那麼投射將失敗。

var a = "hello"; 
var b = 5; 

var x = (string)a; // will succeed 
var y = (string)b; // will fail with InvalidCastException 
0

基本上ToString()是一個函數,它返回一個字符串,該字符串表示您應用它的對象。

字符串作爲類型是像一個int - 一個原語(在c#其對象)

1

object.Tostring()轉換成對象對象string.If具有空值然後 將拋出異常,因爲沒有null有ToString()方法。

而(字符串)對象是引用類型到值類型的拆箱過程。 這裏對象值正在複製到字符串類型的新實例中。 如果object爲null,它將分配空值。

0

如果你是安全的轉換後從對象到字符串只需使用:

string s = Convert.ToString(o); 
相關問題