问题标签 [idictionary]
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.
c# - Dictionary.ContainsKey() - 它是如何工作的?
我已经阅读了有关如何Dictionary.ContainsKey()
工作的 MSDN 文档,但我想知道它实际上是如何进行相等比较的?基本上,我有一个以引用类型为键的字典*,我希望该ContainsKey()
方法检查该引用类型的某个属性作为确定该键是否存在的基础。例如,如果我有 aDictionary(MyObject, int)
并且有一个名为“TypeID”MyObject
的公共属性 (of ),我是否可以检查其中一个键的 a是否等于?我可以重载操作员吗?int
ContainsKey(MyObject myObject)
TypeID
myObject
==
- 引用类型是一个名为“Duration”的对象,它包含一个值 (
double Length
);“持续时间”是我的音乐程序中用于表示特定声音持续多长时间的基本类型。我从中派生出包含更复杂时间概念的类,例如西方音乐时间签名,但希望它们在长度方面都具有可比性。
编辑:正如建议的那样,我在我的对象上实现了 IEquitable,如下所示:
这就是我需要做的吗?
c# - 投射到字典
下面的函数返回一种动态类型,将其转换为 IDictionary 的最有效方法是什么
c# - 将动态类型参数引用的 json 转换为 Idictionary
我遇到了以下不起作用的代码
选项包含 json 的位置
我的问题是这是否可行?我的意思是,是否可以将动态类型引用的 json 转换为 IDictionary 而无需任何黑魔法?
c# - 泛型类作为返回类型
我有一个使用泛型来保存不同值的存储类。
在另一个类中,我想制作一个类似的方法
哪里设置字典是
我得到错误:
找不到类型或命名空间名称“T”(您是否缺少 using 指令或程序集引用?)
有没有办法解决这个问题?谢谢
c# - C# IDictionary.Keys 和 IDictionary.Values:最佳实现是什么?
我有一个充当字典的 C# 类,所以我现在正在支持 IDictionary。
一切都很好,除了属性键和值:
我在内部没有键或值的集合,所以我想知道如何将这些作为 ICollection 提供。
我的第一次尝试是像这样使用“收益回报”的魔力:
但当然这不起作用,因为返回的类型不是 IEnumerator 而是 ICollection ...
这太糟糕了,因为这将是最简单的解决方案!
我的第二次尝试是将我的值复制到一个新创建的数组中并返回该数组。
这会起作用,因为 Array 支持 ICollection。
但问题是 ICollection 具有添加和删除条目的方法。如果调用者调用这些方法,则只会修改副本而不是字典...
我选择的最终解决方案是让我的字典支持 IDictionary 以及 ICollection 和 ICollection,这样我就可以从属性 Keys 和 Values 中返回这些集合......
所以现在属性 Keys 和 Values 的 get 访问器只返回“this”,即:字典。
这可能是最理想的解决方案,但我发现无论何时要实现 IDictionary,都必须实现两个额外的接口很麻烦。
你有什么别的想法吗?
我在想也许将副本作为数组返回毕竟不是一个坏主意。无论如何,IDictionary 中已经有一个 Add 和 Remove 方法,使用起来更有意义。
也许返回包装数组的 ReadOnlyCollection 会更好,因为任何修改返回的集合的尝试都会失败?
c# - 将列表值添加到字典
我正在尝试填充一个字典,其中唯一的主题值具有应该与之匹配的各种代码值。
所以我想要的只是将 Reqruitment 和 Selection 作为唯一键添加到 Dictionary 中,然后将所有相应的代码添加到 List 中。我该怎么做呢?
这是我的查询
c# - 拆分字典中的键值
我在字典中有几个键(代表主题),并且每个键关联了几个值(代码)。
代码主题
7DIM-039 通讯
7DIM-040 通讯
7DIM-041 通讯
7DIM-042 通讯
7DIM-043 通讯
为了将每个主题(键)与几个值(代码)相关联,我在查询中执行此操作。我创建了一本字典
所以这就是结果
我遇到的问题是其中一些键用分号分隔(所以每个键有几个项目)所以自然我必须进行拆分。
例如:GenSubject;职业;听力技巧; 个人发展; 提问技巧;辅导/指导等
如何拆分这些值并仍然确保各种代码值与每个拆分值相关联?
我还设计了一种拆分方法
这是一个示例代码 GenSubject
7DIM-062 沟通、提问技巧、决策
7DIM-063 沟通、提问技巧、决策
7DIM-064 沟通、提问技巧、决策
7DIM-065 沟通、提问技巧、决策
7DIM-066 沟通、提问技巧、决策
7DIM-067 沟通、提问技巧、决策
所以我想要实现的是所有要“存储用于通信”的代码,以及用于提问技巧等的相同代码,但当然只有一次。
c# - 删除字典中的键
我将如何根据以下条件删除字典中的指定键?
c# - 拆分字典中的值项
我之前问过类似的问题,但只是从稍微不同的角度问。
我有一个代码列表,在每个代码下面我有一堆取自字段 Subject 和 GenSubject 的值。
问题是这些值(尤其是一般主题)包含各种元素,用';'分隔。如何在运行查询时将拆分函数合并到字典中以拆分各种值?
这是我想在需要拆分的地方拆分值的结果。
(我想在将它们添加到字典之前拆分这些值)
谢谢
c# - 摆脱字典中的空格
我有一本字典
如何确保字典的任何记录中都没有空格?