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 중국어 웹사이트의 기타 관련 기사를 참조하세요!