gpt4 book ai didi

c# - 有效地添加到 C# .NET 字典

转载 作者:行者123 更新时间:2023-11-30 18:54:45 26 4
gpt4 key购买 nike

我正在生成数以亿计的 对,如果字符串键尚未使用,则将每一对存储在 .NET 字典中。

效率方面,这样做更好吗?

    try { Dict.Add(key, val); }  catch (ArgumentException) {} //blind attempt

还是这个?

    if (!Dict.ContainsKey(key)) { Dict.Add(key, val); }       //smart attempt

盲目尝试触发双键异常;聪明的尝试点击字典索引两次 - 一次检查,然后再次添加。 (在我的特殊情况下,大约有 10% 的时间有重复 key 。)

有谁知道是否应该优先使用一种方法而不是另一种方法?

最佳答案

一般异常 are costly :

When a member throws an exception, its performance can be orders of magnitude slower.

也就是说,正如安德鲁·巴伯 (Andrew Barber) 指出的那样,这取决于“无数”是什么以及您预计碰撞发生的频率。

虽然您必须衡量自己的表现才能确定,但​​我个人可能会去检查等待异常,特别是如果您实际上没有任何事情来处理异常,正打算吞下它。

关于c# - 有效地添加到 C# .NET 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18304508/

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