Двухмерный массив не IEnumerable? - PullRequest
4 голосов
/ 05 января 2012

У меня есть функция, которая должна принимать два типа данных - наблюдаемый набор MyClass и двумерный массив myclass.Структура не имеет значения, потому что я использую запрос linq на эти коллекции.Как - дать мне все элементы в коллекции, где Myclass.Value == 3.

Итак, я создал функцию, которая принимает параметр типа IEnumerable<MyClass>, поскольку и двумерный массив, и наблюдаемые коллекции реализуют IEnumerable, и он должен работать.

Однако, когда я пытаюсь передать параметр типа MyClass [,] в мою функцию, возникает ошибка времени компиляции - тип аргумента Myclass [,] не может быть назначен параметру типа IEnumerable<MyClass>.

Что не так?спасибо.

1 Ответ

9 голосов
/ 05 января 2012

Прямоугольные массивы do реализуют IEnumerable, но они не реализуют IEnumerable<T> (для любого T, включая очевидный тип элемента). Вы можете легко это исправить, позвонив по номеру Cast:

* * 1010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...