gpt4 book ai didi

c# - 在添加之前检查项目是否存在于集合中的 native C# .NET 方法

转载 作者:太空狗 更新时间:2023-10-29 19:50:51 25 4
gpt4 key购买 nike

我发现自己经常写这篇文章。

Hashtable h = new Hashtable();
string key = "hahahahaahaha";
string value = "this value";
if (!h.Contains(key))
{
h.Add(key, value);
}

是否有一个 native 方法(可能类似于 AddIf() ??)检查它是否存在于集合中,如果不存在,则将其添加到集合中?那么我的示例将更改为:

Hashtable h = new Hashtable();
string key = "hahahahaahaha";
string value = "this value";
h.AddIf(key, value);

这将适用于 Hastable 之外。基本上任何具有 .Add 方法的集合。

编辑:更新为在添加到哈希表时添加一个值 :)

最佳答案

嗯,你可能不会写那个代码,因为 Hashtable 使用键/值对,而不仅仅是键。

如果您使用的是 .NET 3.5 或更高版本,我建议您使用 HashSet<T> , 然后你就可以无条件地调用 Add - 返回值将指示它是否实际添加。

编辑:好的,现在我们知道你在谈论键/值对 - 没有任何内置条件添加(好吧,ConcurrentDictionary IIRC 中有,但是......),但如果你'很高兴覆盖现有值,您可以只使用索引器:

h[key] = value;

不同于Add , 如果已经有键的条目,则不会抛出异常 - 它只会覆盖它。

关于c# - 在添加之前检查项目是否存在于集合中的 native C# .NET 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4267552/

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