问题标签 [trygetvalue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
4395 浏览

c# - 如何使此 Dictionary TryGetValue 代码更具可读性?

我想测试一个 id 是否未知,或者如果已知,关联值是否已更改。我目前正在使用与此类似的代码,但对于不熟悉该模式的人来说很难理解。你能想出一种方法让它更具可读性,同时在 LOC 中保持简短吗?

0 投票
3 回答
7672 浏览

linq - 在 LINQ 中使用 TryGetValue()?

此代码有效,但效率低下,因为它会重复查找ignored字典。如何TryGetValue()在 LINQ 语句中使用字典方法来提高效率?

问题是我不确定如何在 LINQ 语句中声明一个变量以用于 out 参数。

0 投票
4 回答
2248 浏览

c# - 如何调用字典.TryGetValue() 其中 K :谓词, V : 枚举

我有Dictionary<Predicate<double>, SomeEnum>

我想这样TryGetValue(K, out V)反对它:

并收到

但第一个参数TryGetValue()Predicate<T>,不只是T。我怎样才能做我想做的事?

我发现只有一个肮脏的解决方法:

还有其他方法吗?

或者如何正确实施我的想法?- 声明一个键不是一个常量,而是一个段。

0 投票
1 回答
512 浏览

c#-4.0 - 是布尔并发字典.TryGetValue(TKey, out TValue) 方法线程安全吗?

这篇文章不太清楚:https ://devblogs.microsoft.com/pfxteam/concurrentdictionarys-support-for-adding-and-updating/

0 投票
1 回答
551 浏览

dictionary - 更改 C++ 字典 TryGetValue() 方法的默认整数值?

我担心的快速问题有一个简短而令人失望的答案,但无论如何我还是会问.. 在 C++ 字典方法 TryGetValue() 中,有没有办法更改将为整数返回的默认值(例如改为 -1 ) 当钥匙不存在时?问题是 0 是默认值,这不合适,因为值 0 在我的程序上下文中是有意义的。

如果不是,那么 ContainsKey() 方法会慢得多吗?或者它是分裂的头发,没有什么可担心的,因为我很可能别无选择..

非常感谢

PS 我不需要执行任何散列函数(尽管这可能在 Dictionary 的实现中!),也没有任何特定的排序到我的集合,我只希望查找和添加尽可能快。字典是一个合理的选择吗?

0 投票
5 回答
567 浏览

c# - 为什么 TryGetValue 释放我的 Dictionary ?

我有这段代码:

如果代码传递到 else 块,那么我得到了一个无法执行添加的异常,因为 tempDict 指向 null。为什么会这样?我知道如何通过在 else 块中分配新的 Dictionary 以一种丑陋的方式绕过它,但是有没有更好的方法呢?

0 投票
2 回答
997 浏览

c# - C# 在字符串拆分后使用 TryGetValue

好的,我到处搜索,我真的坚持这一点。我正在尝试创建一个程序,该程序将使用流式阅读器加载带有逗号分隔的文本单词的 CSV 文件,然后将它们添加到字典中。然后在表单上,​​如果用户在第一个文本框中键入逗号之前的文本并单击一个按钮,那么逗号之后的文本将显示在另一个文本框中。

我不会撒谎,我仍在努力学习 c# 的基础知识,因此我们将不胜感激!

这是我刚才的代码,我不知道从哪里开始,我想在逗号拆分后使用 TryGetValue 将文本的第一部分分配为 [0],将逗号后的第二部分分配为 [1 ]

我的输入数据的一个例子是:

黑,白

猫狗

黄色, 蓝色

0 投票
1 回答
489 浏览

c# - 如果 GetValue() 方法失败,则引发错误

我继承了一个 WCF 服务,它充当文件缓存(每个文件代表对第三方 API 的请求的结果)。目前,如果文件不存在,则代码会创建一个新请求来创建数据,并且还会向客户端代码引发异常。

我认为这个想法是客户会回来再次请求文件,然后他们就可以使用它(生成文件需要几秒钟)。

我认为这里有代码味道,我应该重写这部分。目前,异常正在通过几种方法被捕获并冒泡。我认为我应该从源头确定文件是否存在并将该信息传递到调用堆栈。

在 WCF 界面,我目前有一个GetValue()方法,尽管我认为可以使用两个选项来替换它:

  1. null如果文件不存在则返回。
  2. 使用bool TryGetValue(string key, out string value)方法

有没有人有任何偏好/建议?

谢谢

0 投票
1 回答
418 浏览

c# - 不知道为什么我会收到 InvalidCastException

我得到一个InvalidCastException,我不明白为什么。

这是引发异常的代码:

AppSettings.cs:(提取)

GetValueOrDefault<IList<string>>(TriedIDList_KeyName, TriedIDList_Default)并且AddOrUpdateValue(TriedIDList_KeyName, value)是微软推荐的常用方法;你可以在这里找到完整的代码。

编辑:我在这一行遇到了异常:

0 投票
2 回答
25016 浏览

c# - 在 C# 中使用空值或空值初始化元组

我在 SetValue() 中设置了这个字典和元组,如下所示:-

我正在尝试检索 GetValue() 中的元组,如下所示:-

我的问题是这是否是在从字典中检索元组时初始化元组的正确方法?有更好的代码吗?