KeyValuePair<K,V>
이 하나의 키/값 쌍을 의미 불변의 객체 인 더 세터가 없다고 주장 코드를 컴파일 할 수있는 객체를
KeyValuePair<int, double> query = holding.QuantityPricePair.Where(h => h.Value == 7).SingleOrDefault();
if (query.Key != 0)
{
query.Value = 3;
}
을 찾기 위해 쿼리 사전. KeyvaluePair
개체의 일부는 변경할 수 없습니다.
if (query != null && query.Key != 0)
{
holding.QuantityPricePair[query.Value] = 3;
}
SingleOrDefault()
null
를 반환, 그래서 취하지 않을 것으로 방치 할 수 있습니다 : 당신이 바로 사전을 가지고 - 당신은 해당 키에 대한 사전의 값을 변경하고자한다면, 그것은 쉽게 할 수 있어요 계정에.
사전의 고유 한 값을 변경하지 않는 것이 목표 인 경우 다른 항목을 수행하기 전에 KeyValuePair
을 변경하려는 경우 쉽게 새 KeyValuePair
을 만들 수 있습니다. 아무도 그 차이를 알 수 없습니다. :
if (query != null && query.Key != 0)
{
query = new KeyValuePair<int, double>(query.Key, 3);
}
다시 말하지만 두 번째 버전은 사전에 저장된 값을 변경할 수 없습니다.
새 사전 만 반환 할 수 있습니다. – selami
'KeyValuePair'는 변경할 수 없습니다. 변경할 수 없습니다. _new_ 하나를 만들거나 사전의 인덱서를 사용하여 주어진 키의 값을 업데이트하면됩니다. –