C#对Dictionary遍历赋值

来源:互联网 发布:网络安装linux系统 编辑:程序博客网 时间:2024/09/21 09:22
导致错误的版本:
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";
    }
}
0 0
原创粉丝点击