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

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

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

解决方法

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

基本上,它相当于:

  1. foreach (object __o in list) {
  2. string s = (string)__o;
  3. // loop body
  4. }

猜你在找的C#相关文章