> 백엔드 개발 > C++ > C#에서 사전 요소의 순서화된 열거를 어떻게 보장할 수 있나요?

C#에서 사전 요소의 순서화된 열거를 어떻게 보장할 수 있나요?

Susan Sarandon
풀어 주다: 2025-01-17 18:47:10
원래의
580명이 탐색했습니다.

How Can I Guarantee Ordered Enumeration of Dictionary Elements in C#?

C# 사전을 통해 반복할 때 순서 유지

표준 C# 사전은 본질적으로 열거 중에 특정 요소 순서를 보장하지 않습니다. 삽입 순서에 관계없이 순서가 예측할 수 없을 정도로 달라질 수 있습니다. 그러나 필요한 경우 반복 순서를 제어할 수 있는 방법이 있습니다.

정렬 열거 방법

다양한 전략을 통해 사전 요소의 순서대로 순회할 수 있습니다.

1. KeyValuePair 쌍 정렬:

이 방법은 사전을 KeyValuePair 개체의 정렬된 배열로 변환합니다.

<code class="language-csharp">var sortedKVPs = _Dictionary.OrderBy(x => x.Key).ToArray();

foreach (KeyValuePair<string, string> kvp in sortedKVPs)
{
  Trace.Write(String.Format("{0}={1}", kvp.Key, kvp.Value));
}</code>
로그인 후 복사

이 코드 조각은 키를 기준으로 키-값 쌍을 정렬한 다음 정렬된 배열을 반복하여 이 예에서는 알파벳 순서를 제공합니다.

2. OrderedDictionary 활용:

OrderedDictionary 클래스는 삽입 순서를 명시적으로 유지합니다.

<code class="language-csharp">// Create an ordered dictionary
var orderedDictionary = new OrderedDictionary();

// Add elements
orderedDictionary.Add("orange", "1");
orderedDictionary.Add("apple", "4");
orderedDictionary.Add("cucumber", "6");

// Add using indexer
orderedDictionary["banana"] = 7;
orderedDictionary["pineapple"] = 7;

// Enumerate the ordered dictionary
foreach (DictionaryEntry entry in orderedDictionary)
{
  Trace.Write(String.Format("{0}={1}", entry.Key, entry.Value));
}</code>
로그인 후 복사

요소는 OrderedDictionary에 추가된 정확한 순서대로 검색됩니다. OrderedDictionary은 레거시 클래스입니다. 새 프로젝트의 경우 SortedDictionary 또는 SortedList<TKey, TValue> 사용을 고려해 보세요. SortedDictionary은 키를 정렬된 상태로 유지하며 SortedList<TKey, TValue>은 경우에 따라 더 나은 성능으로 유사한 기능을 제공합니다.

위 내용은 C#에서 사전 요소의 순서화된 열거를 어떻게 보장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿