我有字典
System.Runtime.Serialization.Formatters.Soap
更新词典的最佳方法是什么,以使列表中的对象之一被已知密钥删除。例如,我想从列表中删除第三个对象。
删除将通过特定键删除值。因此,它将删除与该键相对应的整个列表。我想更新字典中的列表。
答案 0 :(得分:1)
您可以使用Remove
方法。
Start container
TestClass1 test 56ead80b-ec34-4dd6-9c0d-d6f07a4eb0d8
TestClass2 test 56ead80b-ec34-4dd6-9c0d-d6f07a4eb0d8
Stop container
根据文档,该方法返回:
如果成功找到并删除了元素,则为true;否则为false。否则为假。如果在字典中找不到密钥,则此方法返回false。
更新:
根据您更新的问题,您想要删除列表中的一个元素,这意味着先获取字典的值,然后再更改该值内的一个元素(在您的情况下为列表)。因此,您可以在此处使用列表的RemoveAt
方法。
myDictionary.Remove("key");
答案 1 :(得分:1)
更新字典,以便从列表中删除一个对象?
首先,您需要从字典中检索List
,例如,您可以使用密钥。就像这样:
if (myDictionary.TryGetValue("key", out List<Object> value)) {
value.RemoveAt(2);
}
您可以使用TryGetValue根据您的密钥获取值(如果存在,则可以获取List<object>
引用。
由于以上示例中对value
的引用与Dictariony<>
使用的引用相同,因此您可以使用List.RemoveAt(Int32)从列表中删除第3个。