C#在OrderedDictionary中获取对象索引的最佳方法是什么?

C#在OrderedDictionary中获取对象索引的最佳方法是什么?,c#,winforms,C#,Winforms,在myOrderedDictionary中,我想替换一个对象。我看到,OrderedDictionary有一个名为Insert()的方法。因此,我想,当我得到要替换的对象的索引时,我用RemoveAt()删除该对象,然后用insert()方法插入新对象 但是。。。我需要弄清楚我要替换的对象的索引是什么。我应该简单地使用for循环还是有更好的方法 一些背景信息:这段代码被放入一个方法中。并且该方法可以在另一个方法的for循环中多次调用。如果您知道目标条目的键,则可以这样做: myOrderedDi

在my
OrderedDictionary
中,我想替换一个对象。我看到,
OrderedDictionary
有一个名为
Insert()
的方法。因此,我想,当我得到要替换的对象的索引时,我用
RemoveAt()
删除该对象,然后用
insert()
方法插入新对象

但是。。。我需要弄清楚我要替换的对象的索引是什么。我应该简单地使用for循环还是有更好的方法


一些背景信息:这段代码被放入一个方法中。并且该方法可以在另一个方法的for循环中多次调用。

如果您知道目标条目的键,则可以这样做:

myOrderedDictionary["keyToReplace"] = "modifiedValue";
否则,在替换目标之前,必须循环定位目标


如果您手中只有目标对象,您可以通过循环通过
字段来获取其索引,但请注意,此处存在重复项是合法的(尽管不在
)。

您知道要替换的对象的键吗?是的,我知道。这就是为什么Steve Townsend的答案能帮我轻松解决问题。我以为它是只读的。我猜我错了=]@Martijn:如果它是只读的,你怎么能期望使用
RemoveAt
Insert