중화사전망 - 자전 검색 - 사전 키워드 정렬

사전 키워드 정렬

사전은 보통 분류하기 쉽지 않다. SortDictionary 클래스를 사용하여 정렬할 수 있습니다 ... ~ ~ ~ ~ ~ ~ ~

참조 MSDN:

SortedDictionary 일반 클래스는 키 정렬의 키/값 쌍 모음을 나타냅니다.

유형 매개변수

TKey 사전의 키 유형입니다.

TValue 사전의 값 유형입니다.

SortedDictionary 일반 클래스는 검색 작업의 복잡성이 O(log n) 인 이진 조회 트리입니다. 여기서 n 은 사전의 요소 수입니다. 이와 관련하여 SortedList 일반 클래스와 유사합니다. 이 두 클래스는 유사한 객체 모델을 가지고 있으며 모두 O(log n) 의 검색 복잡성을 가지고 있습니다. 이 두 클래스의 차이점은 메모리 사용과 요소 삽입 및 제거 속도입니다.

SortedList 는 SortedDictionary 보다 적은 메모리를 사용합니다.

Foreach (키 valuepair < Int, string & gt 내 사전의 kvp...}

Foreach 문은 열거 수의 래퍼로, 열거 수만 컬렉션을 읽을 수 있지만 컬렉션은 쓸 수 없습니다.

사용 예:

시스템 사용

시스템을 사용하다. 집합하다. 제네릭

공용 클래스 예

{

공용 정적 void Main ()

{

//문자열 키를 사용하여 새 문자열 사전을 만듭니다.

//

사전 & ltstring, string & gtopenWith =

새 사전 & ltstring, string & gt ();

//사전에 일부 요소를 추가합니다. 없다

//키가 반복되지만 일부 값은 반복됩니다.

여는 방식. Add("txt ","notepad.exe ");

여는 방식. Add("bmp ","paint.exe ");

여는 방식. Add("dib ","paint.exe ");

여는 방식. Add("rtf ","wordpad.exe ");

//새 키가 이면 Add 메서드에서 예외가 발생합니다

//은 (는) 이미 사전에 있습니다.

시도하다

{

여는 방식. Add("txt ","winword.exe ");

}

Catch (매개 변수 예외)

{

콘솔。 With Key = \ "txt \" 인 요소가 이미 존재합니다. );

}

Item 속성은 인덱서의 다른 이름이므로 다음을 수행합니다

//요소에 액세스할 때 해당 이름을 생략할 수 있습니다.

콘솔。 WriteLine("For key = \"rtf\ ",value = {0}. 그리고,

Open with ["rtf"]);

//인덱서는 연결된 값을 변경하는 데 사용할 수 있습니다

//키가 있습니다.

Open with ["rtf"] = "winword.exe";

콘솔。 WriteLine("For key = \"rtf\ ",value = {0}. 그리고,

Open with ["rtf"]);

//키가 없는 경우 해당 키의 인덱서를 설정합니다

//새 키/값 쌍을 추가합니다.

Open with ["doc"] = "winword.exe";

//요청된 키가 인 경우 인덱서에서 예외가 발생합니다

//사전에 없습니다.

시도하다

{

콘솔。 WriteLine("For key = \"tif\ ",value = {0}." 그리고,

Open with ["TIF"]);

}

Catch (KeyNotFoundException)

{

콘솔。 WriteLine("Key = \"tif\ ") 을 찾을 수 없습니다.

}

//프로그램이 종종 결과가 이런 키가 아닌 것을 시도해야 할 때

//사전에서 TryGetValue 는 더 효율적일 수 있습니다

//값을 검색하는 방법입니다.

문자열 값 = "";

If (openWith). TryGetValue("tif ",out value))

{

콘솔。 WriteLine("For key = \"tif\ ",value = {0}." , 값);

}

기타

{

콘솔。 WriteLine("Key = \"tif\ ") 을 찾을 수 없습니다.

}

// ContainsKey 는 삽입하기 전에 키를 테스트하는 데 사용할 수 있습니다

//그들.

만약 (! 여는 방식. ContainsKey("ht "))

{

여는 방식. Add("ht ","hypertrm.exe ");

콘솔。 WriteLine(" key = \ "ht \ ":{ 0}" 의 부가 가치,

Open with ["ht"]);

}

//foreach 를 사용하여 사전 요소를 열거할 때 ,

//요소는 KeyValuePair 객체로 검색됩니다.

콘솔。 Writeline ();

Foreach (키 valuepair < String, string & gtkvp in openWith)

{

콘솔。 WriteLine("Key = {0} 0}, 값 = {1} ",

Kvp. 키, kvp. 값);

}

//개별적으로 값을 가져오려면 values 속성을 사용합니다.

사전 & ltstring, string & gt. 값 세트 값 세트 =

여는 방식. 가치관

ValueCollection 의 요소는 강력한 유형입니다

//사전 값에 지정된 유형이 있습니다.

콘솔。 Writeline ();

Foreach(value coll 의 문자열)

{

콘솔。 WriteLine("Value = {0} ",s);

}

//키를 개별적으로 가져오려면 keys 속성을 사용합니다.

사전 & ltstring, string & gt. 키 collection keycoll =

여는 방식. 열쇠;

KeyCollection 의 요소는 강한 유형입니다

//사전 키에 지정된 유형이 있습니다.

콘솔。 Writeline ();

Foreach (키 콜의 문자열 s)

{

콘솔。 WriteLine("Key = {0} ",s);

}

//Remove 메서드를 사용하여 키/값 쌍을 제거합니다.

콘솔。 Writeline ("\ n remove (\" doc \ ")");

여는 방식. 제거 ("doc");

만약 (! 여는 방식. 키 포함 ("doc"))

{

콘솔。 WriteLine ("키워드 \"doc\") 을 찾을 수 없습니다.

}

}

}

/* 이 코드 예제는 다음과 같은 출력을 생성합니다.

Key = "txt "를 가진 요소가 이미 존재합니다.

Key = "rtf "의 경우 값 = wordpad.exe 입니다.

키 = "rtf" 의 경우 값 = winword.exe 입니다.

키 = "TIF" 를 찾을 수 없습니다.

키 = "TIF" 를 찾을 수 없습니다.

키 = "ht": hypertrm.exe 의 부가 가치

키 = txt, 값 = 메모장.exe

키 = BMP, 값 = paint.exe

키워드 = DIB, 값 = paint.exe

키 = rtf, 값 = winword.exe

키워드 = 문서, 값 = winword.exe

키 = ht, 값 = hypertrm.exe

가치 = notepad.exe

가치 = paint.exe

가치 = paint.exe

가치 = winword.exe

가치 = winword.exe

가치 = hypertrm.exe

키 = txt

키 = BMP

키 = DIB

키 = rtf

키 = doc

키 = ht

제거 ("doc")

키워드' doc' 를 찾을 수 없습니다.

*/