example - keyvaluepair c# ejemplos




¿Cómo modificar un valor KeyValuePair? (2)

Tengo un problema cuando trato de modificar el valor de un elemento porque es solo un campo de solo lectura.

KeyValuePair<Tkey, Tvalue>

He probado diferentes alternativas como:

Dictionary<Tkey, Tvalue>

pero ahí tengo el mismo problema. ¿Hay alguna forma de establecer el campo de valor en un nuevo valor?


Aquí, si quiere hacer que KeyValuePair sea mutable.

Haz una clase personalizada.

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;
    }
}

para que podamos usarlo en cualquier lugar de KeyValuePair.


No puede modificarlo, puede reemplazarlo por uno nuevo.

var newEntry = new KeyValuePair<Tkey, Tvalue>(oldEntry.Key, newValue);

o para el diccionario:

dictionary[oldEntry.Key] = newValue;




.net