//get excel A1 ~ A26 cells' data
Excel.Range ColumnOne = xlsworksheet.get_Range("A1","A5");foreach (object element in ColumnOne.Value2)
{
    // I wanna do something here
}Error:
foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'ColumnOne.Value2的定义及数值 
Value2 {object[1..5, 1..1]} [1,1]= null
[2,1]= Hello
[3,1] = null
[4,1] = 123
[5,1] = 1.224foreach 如何遍历这个数组?

解决方案 »

  1.   

    如果你确定Value2返回的是object[],那么就在你的foreach中转换一下类型。
      

  2.   

    这是一个基本的编程模式,不要让别人给你重复第二次:object a= new object[]{1,"@34234"};
    if (a is Array)
        foreach (var o in (object[])a)
            ........
    esle 
        ........
      

  3.   

    c#的强制转换真多,每次做之前都要判断一下什么类型?
    这要写多少废代码[resolved]foreach (object element in (object[,])ColumnOne.Value2)
    {
        // I wanna do something here
    }
      

  4.   

    因为c#是强类型语言.
    想要弱类型可以去找js一类的脚本语言.