C# 如何通过foreach 修改Dictionary的value
展开全部
可以这样做
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("key1", "value1");//添加
dic.Add("key2", "value2");//添加
dic["key1"] = "value3";//修改
p.s.
用foreach的话Value 是只读的,要么for循环,要么重新构建new Dictionary<string, string>();添加不满足条件的就行了
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("key1", "value1");//添加
dic.Add("key2", "value2");//添加
dic["key1"] = "value3";//修改
p.s.
用foreach的话Value 是只读的,要么for循环,要么重新构建new Dictionary<string, string>();添加不满足条件的就行了
展开全部
Dictionary<int, int> dic = new Dictionary<int, int>();
dic.Add(0, 4);
dic.Add(1, 5);
dic.Add(2, 6);
//遍历键
foreach (int i in dic.Keys)
{
Console.WriteLine(dic[i].ToString());
}
//遍历值
foreach (int i in dic.Values)
{
Console.WriteLine(i.ToString());
}
dic.Add(0, 4);
dic.Add(1, 5);
dic.Add(2, 6);
//遍历键
foreach (int i in dic.Keys)
{
Console.WriteLine(dic[i].ToString());
}
//遍历值
foreach (int i in dic.Values)
{
Console.WriteLine(i.ToString());
}
更多追问追答
追问
遍历?????看我提的问题?拜托!!
追答
恩,没仔细看题目,抱歉。
你是遍历修改值,是都修改成同一个值?还是。。什么
这里说的详细点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dictionary<string, string> testMap = new Dictionary<string, string>();
testMap["1"] = "test1";
testMap["2"] = "test2";
testMap["3"] = "test3";
testMap["4"] = "test4";
testMap["5"] = "test5";
testMap["6"] = "test6";
List<KeyValuePair<string, string>> lst = new List<KeyValuePair<string, string>>();
foreach (KeyValuePair<string, string> kv in testMap)
{
string groupCode = kv.Key;
string dateTime = kv.Value;
if (groupCode == "1")
{
lst.Add(kv);
}
}
for (int i = 0; i < lst.Count; i++)
{
testMap.Remove(lst[i].Key);
testMap[lst[i].Key] = "i have modified it";
}
testMap["1"] = "test1";
testMap["2"] = "test2";
testMap["3"] = "test3";
testMap["4"] = "test4";
testMap["5"] = "test5";
testMap["6"] = "test6";
List<KeyValuePair<string, string>> lst = new List<KeyValuePair<string, string>>();
foreach (KeyValuePair<string, string> kv in testMap)
{
string groupCode = kv.Key;
string dateTime = kv.Value;
if (groupCode == "1")
{
lst.Add(kv);
}
}
for (int i = 0; i < lst.Count; i++)
{
testMap.Remove(lst[i].Key);
testMap[lst[i].Key] = "i have modified it";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dic[KEY]="你需要的值";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dictionary<string, string> dic = new Dictionary<string, string>();
foreach (KeyValuePair<string, string> item in dic)
{
item.Value = "你需要的值";
}
foreach (KeyValuePair<string, string> item in dic)
{
item.Value = "你需要的值";
}
更多追问追答
追问
item.Value 是只读的.可以修改吗,老兄你测试过吗?
追答
Dictionary dic = new Dictionary();
foreach (KeyValuePair item in dic)
{
dic.Remove(item.Key);
dic.Add(item.Key, "你需要的值");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询