可能重複:
Direct casting vs 'as' operator?在以下代碼中使用Cast和AS運算符之間的區別?
任何一個可以告訴的代碼片斷之間的實際差異?
var unknown = (object)new List<string>();
// Snippet 1: as operator
foreach (var item in unknown as IList<int>) {
// Do something with item
}
// Snippet 2: cast operator
foreach (var item in (IList<int>)unknown) {
// Do something with item
}
至於如果轉換失敗將返回null;如果顯式轉換失敗,則會拋出異常。 – Tim
我檢查了您的鏈接,但兩個問題之間存在很大差異。 –
@urzshah區別在於:1)你把它放在一個'foreach'循環中,2)你正在轉換爲一個接口類型。這些差異都與你的問題無關。 – hvd