2013年8月21日 星期三
2013年6月5日 星期三
2012年6月15日 星期五
使用 foreach 存取集合類別
若要使用 foreach 陳述式逐一查看集合,則集合必須符合下列需求︰
- 它必須是介面、類別或結構。
- 它必須包括可傳回型別的公用 GetEnumerator 方法。
- 傳回型別包含名為 Current 的公用屬性和名為 MoveNext 的公用方法。
2012年5月10日 星期四
2012年3月23日 星期五
is 和 as
由於物件都是多型的,因此可以使用某個基底類別 (Base Class) 型別的變數來存放衍生型別 (Derived Type)。
若要存取衍生型別的方法,您必須將值轉型回衍生型別。
不過,在這種情況下嘗試進行簡單轉型卻會有擲回 InvalidCastException 的風險。
這就是 C# 提供 is 和 as 運算子的原因。
您可以使用這兩個運算子測試轉型能否成功,而不會擲回例外狀況 (Exception)。
as 運算子通常比較有效率,因為如果轉型能夠成功,它實際會傳回轉型值。
is 運算子卻只會傳回布林值,因此它可以用在只是要確定物件的型別而不必實際轉型的情況。
訂閱:
文章 (Atom)