我需要知道是否有任何方法可以在不创建循环的情况下更改字典的所有键
例如,如果我有一本字典:
Dictionary <DateTime, bool> dates
我减少了每个键的一天。
答案 0 :(得分:3)
您可以使用LINQ扩展程序:
Dictionary<DateTime, bool> dates = new Dictionary<DateTime, bool>()
{
{
DateTime.Now, true
}
};
var modifiedDic = dates.ToDictionary(z => z.Key.AddDays(-1), z => z.Value);
答案 1 :(得分:1)
您可以使用LINQ修改然后转换回Ditionary
var newDates = dates.ToDictionary(dic => dic.Key.AddDays(-1), dic => dic.value);
答案 2 :(得分:1)
您可以使用linq:
dates = dates.ToDictionary(i => i.Key.AddDays(-1), i => i.Value);
祝你好运。