gpt4 book ai didi

.net - 重置保留 key 的 .NET 字典

转载 作者:行者123 更新时间:2023-12-05 01:02:52 25 4
gpt4 key购买 nike

我有一个 Dictionary<K,V>使用一组已知的、不变的键。我想重置字典,但保留键的值,只将值更改为 null .

我可以先调用Clear()在字典上并使用 null 重新添加该对作为一个值,应该有更好的方法。

最佳答案

您可以使用键并将所有值设置为空

例如

var d = new Dictionary<int, string>();
d.Keys.ToList().ForEach(x => d[x] = null);

这里是您可以使用的扩展方法列表,选择哪些套件更适合您的情况并测试它们的性能

public static class DictionaryExtensions
{
public static Dictionary<K, V> ResetValues<K, V>(this Dictionary<K, V> dic)
{
dic.Keys.ToList().ForEach(x => dic[x] = default(V));
return dic;
}

public static Dictionary<K,V> ResetValuesWithNewDictionary<K, V>(this Dictionary<K, V> dic)
{
return dic.ToDictionary(x => x.Key, x => default(V), dic.Comparer);
}

}

并像使用它

var d = new Dictionary<int, string>();
d.ResetValues().Select(..../*method chaining is supported*/);

d = d.ResetValuesWithNewDictionary().Select(..../*method chaining is supported*/);

关于.net - 重置保留 key 的 .NET 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27077275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com