gpt4 book ai didi

C# 字典包含键/TryGetValue 不工作

转载 作者:行者123 更新时间:2023-11-30 17:54:38 37 4
gpt4 key购买 nike

我环顾四周,看到很多关于修改 GetHashCode() 的引用资料和玩ContainsKey()的东西和 TryGetValue() - 但所有这些问题和示例都与一些晦涩的用户特定 key 有关。

我有一个基本的 Dictionary<long, object> .当尝试 ContainsKey()TryGetValue() ,它并不总能成功(当它应该成功时)并继续尝试填充丢失的条目(如果是这种情况,技术上应该如此)。

您猜对了:它会提示现有的 key ,因为它确实存在。

那么为什么它在匹配基本 long 时遇到问题?关键,你如何让它表现出来?

编辑:代码。我尝试了几件事。以最基本的形式:

public void Add(long id)
{
if (AreaDataDict.ContainsKey(id)) return;

AreaData ad = new AreaData(id);
ad.Load();
AreaDataDict.Add(id, ad);
}

还有:

public void Add(long id)
{
AreaData areaData;
if (AreaDataDict.TryGetValue(id, out areaData)) return;

AreaData ad = new AreaData(id);
ad.Load();
AreaDataDict.Add(id, ad);
}

编辑 2:没有发生关键变化。除了在找不到值时添加之外,仅从中读取数据。

最佳答案

答案是使用 ConcurrentDictionary,谢天谢地,受到 user454076 的启发。

关于C# 字典包含键/TryGetValue 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15905595/

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