在C#中有类似Dictionary.Replace(key,new KeyValuePair <newKey> <newValue>)的东西吗?

Ron*_*wal -1 c# dictionary

我希望在同一索引处替换Dictionary的某个条目.我正在考虑创建一个扩展方法(这将涉及:

  1. 迭代所有键,直到找到该键
  2. 然后添加新的键值对
  3. 附加剩余的密钥)还有其他最佳方法吗?

就像我有名单一样

{a,1}
{b,2}
{c,3}
Run Code Online (Sandbox Code Playgroud)

我希望它有

{a,1}
{f,5}
{c,3}
By Something like dic.Replace(b,f,5)
Run Code Online (Sandbox Code Playgroud)

Fra*_*k J 5

字典中的顺序不会保留,因此您尝试执行的操作是不可能的.

出于枚举的目的,字典中的每个项都被视为表示值及其键的KeyValuePair结构.返回项的顺序未定义.

这是MSDN中文档

然而,有一个OrderedDictionary和一个SortedDictionary类.如果任何一个适合您的需要,您必须投资

  • @RonakAgrawal订单只是一个实现细节.下一个版本可能会更改它并破坏您的代码(尽管不太可能). (3认同)