C# 연상 배열인 Dictionary는 키값을 중복하여 등록할 수 없습니다.
Dictionary에 요소를 추가하기 전에 추가하려는 키 또는 값이 중복하는지 확인하는 방법을 알아보도록 하겠습니다.
ContainsKey
Dictionary에 키를 추가하는 경우에 키가 중복하는지 확인하는 방법부터 알아보겠습니다.
Dictionary변수.ContainsKey(Key)
키 중복을 확인하는 방법으로 ContainsKey 메서드를 사용합니다.
ContainsKey 예제
using System;
using System.Collections.Generic;
namespace Sample
{
class Sample
{
static void Main()
{
var myTable = new Dictionary<string, string>();
myTable.Add("Korea", "Seoul");
myTable.Add("Japan", "Tokyo");
myTable.Add("America", "Washington");
string str = "Japan";
if(myTable.ContainsKey(str)) {
Console.WriteLine("{0}는 이미 등록되어 있습니다.", str);
} else {
Console.WriteLine("{0}는 등록되어 있지 않습니다.", str);
}
Console.ReadKey();
}
}
}
결과
Japan는 이미 등록되어 있습니다.
ContainsKey() 메서드 결과값은 True 또는 False만을 반환합니다.
True – 같은 Key가 Dictionary에 있음
False – 같은 Key가 Dictionary에 없음
ContainsValue
Dictionary에 같은 값이 존재하는지 확인하는 방법도 알아보겠습니다.
Dictionary변수.ContainsValue(Value)
ContainsValue 예제
using System;
using System.Collections.Generic;
namespace Sample
{
class Sample
{
static void Main()
{
var myTable = new Dictionary<string, string>();
myTable.Add("Korea", "Seoul");
myTable.Add("Japan", "Tokyo");
myTable.Add("America", "Washington");
string str = "Seoul";
if(myTable.ContainsValue(str)) {
Console.WriteLine("{0}는 이미 등록되어 있습니다.", str);
} else {
Console.WriteLine("{0}는 등록되어 있지 않습니다.", str);
}
Console.ReadKey();
}
}
}
결과
Seoul는 이미 등록되어 있습니다.
ContainsValue() 메서드 결과값 또한 True 또는 False만을 반환합니다.
True – 같은 Value가 Dictionary에 있음
False – 같은 Value가 Dictionary에 없음
정리
ContainsKey() 또는 ContainsValue()를 사용하여 Dictionary에 키 또는 값이 존재하는지 확인할 수 있습니다.
결과는 True 또는 False만을 반환하며, 존재하는 경우에는 True, 존재하지 않는 경우에는 False를 반환합니다.
댓글