Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# SortedList 개체에서 키와 값을 가져오는 방법

C#의 SortedList 클래스는 키를 기준으로 자동 정렬되는 키-값 쌍 컬렉션을 제공합니다. 이 컬렉션에 저장된 값이나 키만 따로 추출하고 싶을 때는 각각 Values 속성과 Keys 속성을 사용하면 됩니다. 두 속성은 모두 ICollection 인터페이스 형태로 반환되므로, foreach 문을 통해 손쉽게 순회할 수 있습니다.


예제 1: 정수 키와 문자열 값 사용하기

SortedList 개체에 저장된 값과 키를 가져오는 기본적인 코드는 다음과 같습니다.

using System;
using System.Collections;

public class Demo {
   public static void Main(String[] args) {
      SortedList list = new SortedList();
      list.Add(1, "One");
      list.Add(2, "Two");
      list.Add(3, "Three");
      list.Add(4, "Four");
      list.Add(5, "Five");

      ICollection col1 = list.Values;
      Console.WriteLine("Values...");
      foreach(string s in col1)
         Console.WriteLine(s);

      ICollection col2 = list.Keys;
      Console.WriteLine("Keys...");
      foreach(int s in col2)
         Console.WriteLine(s);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Values...
One
Two
Three
Four
Five
Keys...
1
2
3
4
5

예제 2: 문자열 키와 문자열 값 사용하기

이번에는 키도 문자열인 경우의 예제를 살펴보겠습니다.

using System;
using System.Collections;

public class Demo {
   public static void Main(String[] args) {
      SortedList list = new SortedList();
      list.Add("A", "Jacob");
      list.Add("B", "Sam");
      list.Add("C", "Tom");
      list.Add("D", "John");
      list.Add("E", "Tim");
      list.Add("F", "Mark");
      list.Add("G", "Gary");
      list.Add("H", "Nathan");
      list.Add("I", "Shaun");
      list.Add("J", "David");

      ICollection col1 = list.Values;
      Console.WriteLine("Values...");
      foreach(string s in col1)
         Console.WriteLine(s);

      ICollection col2 = list.Keys;
      Console.WriteLine("\nKeys...");
      foreach(string s in col2)
         Console.WriteLine(s);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Values...
Jacob
Sam
Tom
John
Tim
Mark
Gary
Nathan
Shaun
David
Keys...
A
B
C
D
E
F
G
H
I
J

핵심 정리

  • list.Values: SortedList에 저장된 모든 값(value)ICollection으로 반환합니다.
  • list.Keys: SortedList에 저장된 모든 키(key)ICollection으로 반환합니다.
  • SortedList는 요소가 추가될 때마다 키를 기준으로 오름차순 정렬을 유지하므로, 출력 결과도 항상 정렬된 순서로 나타납니다.
  • System.Collections 네임스페이스를 using 문에 포함해야 SortedList 클래스를 사용할 수 있습니다.