정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Dictionary<TKey, TValue>.ContainsKey 메서드

2013-12-13

Dictionary<TKey, TValue>에 지정한 키가 포함되어 있는지 여부를 확인합니다.

Namespace:  System.Collections.Generic
어셈블리:  mscorlib(mscorlib.dll)

public bool ContainsKey(
	TKey key
)

매개 변수

key
형식: TKey
Dictionary<TKey, TValue>에서 찾을 수 있는 키입니다.

반환 값

형식: System.Boolean
Dictionary<TKey, TValue>에 지정한 키가 있는 요소가 포함되어 있으면 true이고, 그렇지 않으면 false입니다.

Implements

IDictionary<TKey, TValue>.ContainsKey(TKey)
IReadOnlyDictionary<TKey, TValue>.ContainsKey(TKey)

예외조건
ArgumentNullException

keynull인 경우

이 메서드는 O(1) 연산에 가깝습니다.

다음 코드 예제에서는 Add 메서드를 호출하기 전에 ContainsKey 메서드를 사용하여 키가 있는지 여부를 테스트하는 방법을 보여 줍니다. 또한 프로그램에서 사전에 없는 키를 자주 사용하는 경우 값을 검색하는 효율적인 방법으로 TryGetValue 메서드를 사용하여 값을 검색하는 방법을 보여 줍니다. 마지막으로 Item 속성(C#에서는 인덱서)을 사용하여 키가 있는지 여부를 확인하는 효율성이 가장 낮은 방법을 보여 줍니다.

이 코드 예제는 Dictionary<TKey, TValue> 클래스에 대해 제공되는 보다 큰 예제의 일부입니다.


// ContainsKey can be used to test keys before inserting 
// them.
if (!openWith.ContainsKey("ht"))
{
   openWith.Add("ht", "hypertrm.exe");
   outputBlock.Text += String.Format("Value added for key = \"ht\": {0}",
       openWith["ht"]) + "\n";
}


...


// When a program often has to try keys that turn out not to
// be in the dictionary, TryGetValue can be a more efficient 
// way to retrieve values.
string value = "";
if (openWith.TryGetValue("tif", out value))
{
   outputBlock.Text += String.Format("For key = \"tif\", value = {0}.", value) + "\n";
}
else
{
   outputBlock.Text += "Key = \"tif\" is not found." + "\n";
}


...


// The indexer throws an exception if the requested key is
// not in the dictionary.
try
{
   outputBlock.Text += String.Format("For key = \"tif\", value = {0}.",
       openWith["tif"]) + "\n";
}
catch (KeyNotFoundException)
{
   outputBlock.Text += "Key = \"tif\" is not found." + "\n";
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: