微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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
}

原文地址:https://www.jb51.cc/csharp/94042.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐