List<object[]> SearchObjectList(List<object> objList, int listIndex, string search) { List<object[]> list = new List<object[]>(); foreach (object[] obj in objList) { if ((obj[1] as object[])[0].ToString() == search) { list.Add(obj); } } return list; }
数据源是一个多层的嵌套数组
自己改好了,谢谢.Where(x => ((x as object[])[1] as object[])[0].ToString() == search)
objList.where(m=>((object[][])m)[1][0].ToString()==search )
无法将类型为“System.Object[]”的对象强制转换为类型“System.Object[][]”。
改成Where(p => ((p as object[][]))[1][0].ToString() == search )之后,说 "未将对象引用设置到对象的实例。"
sorry "未将对象引用设置到对象的实例。" 是因为加了 Single() , 其实应该是返回了null 没找到, 应该是表达式不对导致的,不知道怎么写了....
自己改好了,谢谢.Where(x => ((x as object[])[1] as object[])[0].ToString() == search)
嵌套这么多。这个改很难么?
这个数据源是别人的...