Метод Dictionary.ElementAt виден в некоторых классах, но не в других - PullRequest
10 голосов
/ 12 февраля 2010

У меня есть словарь, элементы которого мне нужно перебрать и внести изменения. Я не могу использовать оператор foreach, так как он иногда генерирует InvalidOperationException, говоря, что коллекция не может быть изменена во время перечисления.

Я могу использовать цикл for в сочетании с методом Dictionary.ElementAt, и я успешно использовал его в других классах, но в этом конкретном классе метод ElementAt не найден! Есть идеи?

1 Ответ

23 голосов
/ 12 февраля 2010

ElementAt - это метод расширения , определенный в System.Linq.Enumerable .

Вам нужно добавить предложение using, чтобы сделать его видимым:

using System.Linq;

Обратите внимание, что ElementAt в словаре не имеет большого смысла, так как реализация словаря не гарантирует, что элементы находятся в каком-либо конкретном порядке, и что порядок не изменяется, если вы делаете изменения в словаре.

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