programing

KeyValuePair 값을 수정하는 방법은 무엇입니까?

nasanasas 2020. 12. 4. 08:24
반응형

KeyValuePair 값을 수정하는 방법은 무엇입니까?


읽기 전용 필드이기 때문에 항목 값을 수정하려고 할 때 문제가 발생했습니다.

KeyValuePair<Tkey, Tvalue>

다음과 같은 다른 대안을 시도했습니다.

Dictionary<Tkey, Tvalue>

하지만 거기에도 같은 문제가 있습니다. 값 필드를 새 값으로 설정하는 방법이 있습니까?


수정할 수 없으며 새 것으로 바꿀 수 있습니다.

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

또는 사전 :

dictionary[oldEntry.Key] = newValue;

여기에서 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 어디에서나 사용할 수 있습니다.


KeyValuePair<TKey, TValue>불변입니다. 수정 된 키 또는 값으로 새로 만들어야합니다. 다음에 실제로 수행 할 작업은 시나리오와 정확히 수행하려는 작업에 따라 다릅니다.


KeyValuePair는 수정할 수 없지만 다음과 같이 사전 값을 수정할 수 있습니다.

foreach (KeyValuePair<String, int> entry in dict.ToList())
{
    dict[entry.Key] = entry.Value + 1;
}

또는 다음과 같이 :

foreach (String entry in dict.Keys.ToList())
{
    dict[entry] = dict[entry] + 1;
};

참고 URL : https://stackoverflow.com/questions/13454721/how-to-modify-a-keyvaluepair-value

반응형