如何修改一个KeyValuePair值?
当我尝试修改项目的值时,出现了一个问题,因为它只有一个只读字段。
KeyValuePair<Tkey, Tvalue>
我已经尝试了不同的select,如:
Dictionary<Tkey, Tvalue>
但是我也有同样的问题。 有没有办法将值字段设置为新值?
你不能修改它,你可以用一个新的replace它。
var newEntry = new KeyValuePair<Tkey, Tvalue>(oldEntry.Key, newValue);
或字典:
dictionary[oldEntry.Key] = newValue;
KeyValuePair<TKey, TValue>
是不可变的。 您需要使用修改过的键或值创build一个新的。 你下一步做什么取决于你的情况,你到底想做什么
听到,如果你想使KeyValuePair使可变。
做一个自定义的类。
public class KeyVal<Key, Val> { public Key Id { get; set; } public Val Text { get; set; } public KeyVal() { } public KeyVal(Key key, Val val) { this.Id = key; this.Text = val; } }
所以我们可以在KeyValuePair中的任何地方使用它。