c# – 使用foreach与ArrayList – 自动投射?

前端之家收集整理的这篇文章主要介绍了c# – 使用foreach与ArrayList – 自动投射?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
ArrayList x=new ArrayList();
x.Add(10);
x.Add("SS");

foreach(string s in x)
{
}

这是否意味着当foreach运行时,它尝试转换数组列表的元素来键入foreach表达式?

解决方法

是的,如果某个元素不能转换为该类型,则会得到一个InvalidCastException.在您的情况下,您不能将Boxed int转换为字符串,导致抛出异常.

基本上,它相当于:

foreach (object __o in list) {
    string s = (string)__o;
    // loop body
}

猜你在找的C#相关文章