|
|
1
27
没有。然而, System.Collections.Specialized.OrderedDictionary 应该解决最需要它的问题。 编辑:另一个选项是将其转换为泛型。我还没有测试过它,但它可以编译(C#6),应该可以工作。然而,它仍然具有昂德雷杰·佩特齐尔卡在下面的评论中提到的相同限制。
|
|
|
2
18
实际上有一个是通用的,从.NET2.0开始就存在了。它叫
我对它的一个小问题是它是一个抽象类,您必须对它进行子类化并实现:
为此,我宁愿将lambda传递到构造函数中,但我想虚拟方法比lambda稍微快一点(对此的任何评论都值得赞赏)。
编辑
正如评论中提到的问题:
|
|
|
3
9
有一个 OrderedDictionary 类,该类是一个字典,但可以按插入顺序编制索引,但它不是泛型的。目前在.Net framework中没有一个通用的。
我从.Net团队的某个地方读到一条评论,说他们
将来实现一个泛化版本,但如果是这样,它很可能会被调用
编辑:
找到了报价单。它出现在MSDN页面上
|
|
|
4
4
这是包装纸
非泛型
插入顺序 ,非常类似于Ruby 2.0哈希。
它不需要C#6魔法,符合
根据Adrian的答案,每个注释都将其命名为“IndexedDictionary”。
|
|
|
5
3
上有一个通用实现 code project 它附带了合理数量的测试用例。
|
|
|
6
2
保留插入的通用键/值对的另一个选项是使用以下内容:
这将是一个保证有序的列表。您可以按类似于添加/删除字典的顺序排队和出列,而不是调整数组的大小。它通常可以作为非调整大小有序(通过插入)数组和自动调整大小无序(通过插入)列表之间的中间地带。 |
|
|
7
1
|
|
|
8
1
如果你需要恒定的复杂度
如果您对第三方代码满意,请查看我的存储库(MIT许可证): https://github.com/OndrejPetrzilka/Rock.Collections
|
|
|
9
-3
输出:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |