更改词典中的所有键

时间:2013-04-03 12:09:21

标签: c# dictionary

我需要知道是否有任何方法可以在不创建循环的情况下更改字典的所有键

例如,如果我有一本字典:

Dictionary <DateTime, bool> dates

我减少了每个键的一天。

3 个答案:

答案 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);

祝你好运。