2010-09-27 73 views

回答

4

對於類型轉換工作的類型必須是兼容的:

object str = 10; 
int i = (int) str; 

解析爲不同類型之間的轉換:

string str = "10"; 
int i = int.Parse(str); 
+0

這樣就意味着我只能使用鑄造短,雙,長等? – Rye 2010-09-27 13:55:52

+0

您可以使用任何類型的類型投射,因爲您正在投射的類型與您正在投射的類型相同。就解析而言,Parse方法有不同的重載,它允許您將字符串轉換爲整數,浮點數,小數...... – 2010-09-27 13:58:10

+0

只是一個後續問題,所以解析要好得多? – Rye 2010-09-27 14:01:14

0

鑄造廠當這些對象共享一些繼承。但在你的情況下

int i = (int) str; 

你正在處理隱式自動轉換。其中編譯器會自動隱藏/放棄.NET內置類型。對於一個完整的指南,去這裏尋找Converting and Casting

Int32.Parse(... 

解析是因爲當他們兩個不相關的對象,但有一種轉換一種方式到另一種方式。