2014-06-23 144 views
-1

我一直看到以下語法類型:(string[])myList.ToArray(typeof(string)); 在調用方法之前,在對象的前面聲明對象類型時,這是什麼意思? 我很努力地找到解釋,因爲我不知道這個設置會被調用。 任何幫助表示讚賞。 謝謝奇怪的C#語法

+8

它被稱爲[** cast **](http://msdn.microsoft.com/zh-cn/library/ms173105.aspx)。 –

+0

看起來像一個演員(一個不必要的,我可能會添加)。 –

+0

類型鑄造...... –

回答

0

它被稱爲Casting,Casting通常是告訴編譯器,儘管它只知道某個值是某種一般類型,但您知道它實際上是一個更具體的類型。例如:

object x="any string"; 
string s=(string)x; 

,如果我們使用的是上一個話,那可就可能的,它會通過在運行時異常一樣,如果你使用的是

object x="string"; 

int s=(int)x; 

它會通過異常運行時unable to cast

但如果您使用as oprator,那麼它將返回一個空值而不是拋出異常。

object x = new object(); 
string y = x as string; // Now y is null because x isn't a string 
+0

Thankyou爲此。由ArrayList引起的罪行的道歉。這是我在教程中看到的一個例子 - 不是生產代碼。 –