gpt4 book ai didi

c# - 二维数组不是IEnumerable吗?

转载 作者:太空狗 更新时间:2023-10-30 00:26:57 25 4
gpt4 key购买 nike

我有一个函数,它必须接受两种类型的数据——MyClass 的 Observable 集合和 myclass 的二维数组。结构并不重要,因为我对这些集合使用了 linq 查询。喜欢 - 给我集合中的所有项目,其中 Myclass.Value == 3。

所以我创建了函数,它接受 IEnumerable<MyClass> 类型的参数,因为二维数组和可观察集合都实现了 IEnumerable,它应该可以工作。

但是,当我尝试将 MyClass[,] 类型的参数传递给我的函数时,出现编译时错误 - Argument type Myclass[,] is not assignable to parameter type IEnumerable<MyClass> .

怎么了?谢谢。

最佳答案

矩形数组确实实现了IEnumerable ,但他们实现IEnumerable<T> (对于任何 T ,包括明显的元素类型)。您可以通过调用 Cast 轻松解决此问题:

SomeMethod(array.Cast<MyClass>());

关于c# - 二维数组不是IEnumerable吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745052/

25 4 0