Да, если элемент не может быть преобразован в тип, вы получите InvalidCastException
.В вашем случае вы не можете привести в штучной упаковке int
к string
, вызывая исключение.
По сути, это эквивалентно:
foreach (object __o in list) {
string s = (string)__o;
// loop body
}