为什么我不能在我的KeyCollection中使用ToList()

Bes*_*ska 3 .net c# dictionary

我正在尝试修改字典中的每个值.关于如何做到这一点的答案通常看起来像这样(取自这里):

foreach (var key in myDictionary.Keys.ToList())
{
    myDictionary[key] = <some kind of new value>
}
Run Code Online (Sandbox Code Playgroud)

看似简单,但它对我不起作用; Visual Studio强调ToList()并说

由于其保护级别,'System.Web.UI.WebControls.QueryableDataSourceHelper.ToList(System.Linq.IQueryable,System.Type)'无法访问.

难道我做错了什么?(显然是的,但是什么?)

Bes*_*ska 10

通过添加a来解决此问题

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

到.cs文件的顶部.

(Jon,既然你带我走上了正确的道路,如果你想把这个作为答案发布,那么这样做,我会删除这个答案并给你信任.)