Program Club

Dictionary.Add 대 Dictionary [key] = value의 차이

proclub 2020. 10. 31. 10:17
반응형

Dictionary.Add 대 Dictionary [key] = value의 차이


이 질문에 이미 답변이 있습니다.

Dictionary.Add방법과 인덱서 의 차이점은 무엇입니까 Dictionary[key] = value?


추가 -> 항목이 사전에 이미 존재하는 경우 사전에 항목을 추가하면 예외가 발생합니다.

인덱서 또는 Dictionary[Key]=> 추가 또는 업데이트 . 사전에 키가 없으면 새 항목이 추가됩니다. 키가 있으면 값이 새 값으로 업데이트됩니다.


dictionary.add사전에 새 항목을 추가 dictionary[key]=value하고 키에 대해 사전의 기존 항목에 값을 설정합니다. 키가 없으면 (인덱서) 사전에 항목을 추가합니다.

Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("Test", "Value1");
dict["OtherKey"] = "Value2"; //Adds a new element in dictionary 
Console.Write(dict["OtherKey"]);
dict["OtherKey"] = "New Value"; // Modify the value of existing element to new value
Console.Write(dict["OtherKey"]);

위의 예에서 처음 dict["OtherKey"] = "Value2";에는 존재하지 않기 때문에 사전에 새 값을 추가하고 두 번째로 값을 새 값으로 수정합니다.


Dictionary.Add키가 이미있는 경우 예외가 발생합니다. []항목을 설정하는 데 사용되는 경우에는 그렇지 않습니다 (읽기 위해 액세스하려고하면 해당).

x.Add(key, value); // will throw if key already exists or key is null
x[key] = value; // will throw only if key is null
var y = x[key]; // will throw if key doesn't exists or key is null

에 대한 문서 Add는 이것을 매우 명확하게 만듭니다.

Item속성을 사용하여에 존재하지 않는 키 값을 설정하여 새 요소를 추가 할 수도 있습니다 Dictionary(Of TKey, TValue). 예를 들어, myCollection[myKey] = myValue(Visual Basic의 경우 myCollection(myKey) = myValue). 그러나 지정된 키가에 이미 Dictionary(Of TKey, TValue)있는 경우 Item 속성을 설정하면 이전 값을 덮어 씁니다. 반대로 Add지정된 키가있는 값이 이미있는 경우 메서드는 예외를 throw합니다.

( Item속성은 인덱서에 해당합니다.)

질문하기 전에 항상 문서를 참조 할 가치가 있습니다.


키가 사전에없는 경우 동작은 동일합니다. 두 경우 모두 항목이 추가됩니다.

키가 이미있는 경우 동작이 다릅니다. dictionary[key] = value키에 매핑 된 값을 업데이트하고 dictionary.Add(key, value)대신 ArgumentException을 throw합니다.


dictionary.add사전에 항목을 추가하고 dictionary[key]=value이미 존재하는 키에 값을 할당합니다.

참고 URL : https://stackoverflow.com/questions/11557418/difference-of-dictionary-add-vs-dictionarykey-value

반응형