C#对Dictionary遍历赋值

导致错误的版本:
Dictionary<int, string> datatable = new Dictionary<int, string>();
datatable.Add(1, "hello 1");
datatable.Add(2, "hello 2");
var list = datatable.ToList();
 for (int i = 0; i < list.Count; i++)
{
       if (list[i].Value == "hello 2")
       {
              list[i].Value = "hello";//报错
           }
        }


正确的一种做法:
Dictionary<int, string> datatable = new Dictionary<int, string>();
datatable.Add(1, "hello1");
datatable.Add(2, "hello2");
int[] keys = datatable.Keys.ToArray();
for (int i = 0; i < keys.Length; i++)
{
    if (datatable[keys[i]] == "hello2")
    {
        datatable[keys[i]] = "hello";
    }
}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页