日期:2014-05-20  浏览次数:20993 次

linq 对object[] 数组查询 一点疑惑
linq实战说: 只有支持强类型的集合才实现IEnumerable<T>接口,因此我们说整型数组 字符串,list<T>都可以使用LINQ to Objects. 他的这个说法我可以理解。

但 有个例子 是通过linq 查询 Object[] array = {"string",12,true,'a'}, 现在很是不明白 object[] 数组是强类型吗? 还有 linq 不能查询 arraylist, 因为ArrayList 是object对象集合 , 他和 object[] array 不都是 object集合吗? 为什么 一个可以查询 一个不可以 , 希望高手解答.

------解决方案--------------------
http://msdn.microsoft.com/en-us/bb397937(zh-cn).aspx
------解决方案--------------------
参考
------解决方案--------------------
这个跟是否强类型无关...

从2.0开始Array类就实现了IList<T>、ICollection<T>和IEnumerable<T>泛型接口...但对于数组...
引用 MSDN:
由于实现是在运行时提供给数组的,因而对于文档生成工具不可见。因此,泛型接口不会出现在 Array 类的声明语法中,也不会有关于只能通过将数组强制转换为泛型接口类型(显式接口实现)才可访问的接口成员的参考主题。