我尝试修改项目的值时出现问题,因为它只有一个只读字段。如何修改KeyValuePair值?
KeyValuePair<Tkey, Tvalue>
我已经试过像不同的选择:
Dictionary<Tkey, Tvalue>
但我有同样的问题。有没有办法将值字段设置为新值?
我尝试修改项目的值时出现问题,因为它只有一个只读字段。如何修改KeyValuePair值?
KeyValuePair<Tkey, Tvalue>
我已经试过像不同的选择:
Dictionary<Tkey, Tvalue>
但我有同样的问题。有没有办法将值字段设置为新值?
你不能修改它,你可以用一个新的替换它。
var newEntry = new KeyValuePair<Tkey, Tvalue>(oldEntry.Key, newValue);
或词典:
dictionary[oldEntry.Key] = newValue;
感谢您的帮助。字典的部分正是我需要的。 – Kimbo
KeyValuePair<TKey, TValue>
是不可变的。您需要使用修改过的键或值创建一个新的。你实际上下一步做什么取决于你的场景,以及你想要做什么...
听到的话,你想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。
您是否正在尝试更新某个特定值或该词典中的所有/大部分值? – J0HN
我尝试更新特定值。 – Kimbo