Метод Dictionary.ElementAt отображается в некоторых классах, но не в других
У меня есть словарь, элементы которого мне нужно перебирать и вносить изменения. Я не могу использовать foreach-оператор, поскольку он иногда вызывает InvalidOperationException, говоря, что сбор не может быть изменен во время перечисления.
Я могу использовать цикл for в сочетании с методом Dictionary.ElementAt, и я успешно использовал его в других классах, но в этом конкретном классе метод ElementAt не может быть найден! Любые идеи?
Ответы
Ответ 1
ElementAt - это метод расширения, определенный в System.Linq.Enumerable.
Вам нужно добавить предложение use, чтобы сделать его видимым:
using System.Linq;
Обратите внимание, что ElementAt на словаре < TKey, TValue > не имеет большого смысла, хотя, поскольку реализация словаря не гарантирует, что элементы находятся в каком-либо конкретном порядке, и что порядок не изменяется, если вы вносите изменения в словарь.