C#에서 사전을 목록 컬렉션으로 변환

Syed Hassan Sabeeh Kazmi 2023년10월12일
C#에서 사전을 목록 컬렉션으로 변환

C#에서는 System.Linq 확장의 일부로 ToList() 메서드를 사용하여 사전을 목록으로 변환할 수 있습니다. 사전의 반환 유형이 KeyCollection이기 때문에 사전을 List<string>으로 직접 변환할 수 없습니다.

목록은 ArrayList와 유사하지만 유일한 차이점은 목록이 일반이고 고유한 속성이 있다는 것입니다.

이 자습서에서는 사전을 C#에서 목록 컬렉션으로 변환하는 방법을 알려줍니다.

C#에서 ToList() 메서드를 사용하여 사전을 목록 컬렉션으로 변환

C#의 사전은 두 개의 인수를 허용합니다. 첫 번째 인수는 키이고 두 번째 인수는 값입니다. 사전은 다른 데이터와 해당 값을 목록에 추가할 때 유용합니다.

사전 값을 목록 모음으로 변환하려면 내장 ToList() 메서드를 사용하여 이 일반 목록을 변환할 수 있습니다. 목록과 사전은 모두 데이터 컬렉션을 저장하며 유사합니다. 둘 다 .NET 프레임워크의 랜덤 액세스 데이터 구조입니다.

사전은 사물을 찾는 효율적인 알고리즘인 해시 테이블을 기반으로 합니다. 반면에 목록은 매번 처음부터 결과까지 결과를 찾을 때까지 요소별로 이동합니다.

System.Collections.GenericSystem.Linq 네임스페이스를 사용하여 C#에서 사전을 목록 컬렉션으로 쉽게 변환할 수 있습니다. 사전 컬렉션에서 ToList()를 호출하여 KeyValuePair 인스턴스 목록을 생성합니다.

// add `System.Collections.Generic` and `System.Linq` namespaces
using System;
using System.Collections.Generic;
using System.Linq;

class ConDtoLCol {
  static void Main() {
    // create a Dictionary
    Dictionary<string, int> dict = new Dictionary<string, int>();
    dict["cat"] = 1;
    dict["dog"] = 4;
    dict["mouse"] = 2;
    dict["rabbit"] = -1;

    // call ToList to convert the `dict` Dictionary to List
    List<KeyValuePair<string, int>> list = dict.ToList();

    // loop over List to show successful conversion
    foreach (KeyValuePair<string, int> pair in list) {
      Console.WriteLine(pair.Key);
      Console.WriteLine("   {0}", pair.Value);
    }
  }
}

출력:

cat
   1
dog
   4
mouse
   2
rabbit
   -1

사전의 키를 C#의 목록 컬렉션으로 변환하려면 다음을 사용할 수 있습니다.

List<string> listNumber = dicNumber.Keys.ToList();

또한 사전의 값을 C#의 목록 컬렉션으로 변환하려면 다음을 사용할 수 있습니다.

List<string> listNumber = dicNumber.Values.ToList();

.NET 프레임워크 사전은 키와 값의 모음을 나타냅니다. 사전 키의 주요 목적은 사용자가 사전 값의 일반 목록(컬렉션)을 얻을 수 있도록 하는 것입니다.

또한 values 속성을 사용하여 사전 값의 일반 목록을 얻을 수 있습니다. 이 문서에서는 사전의 키와 값을 C#의 목록으로 변환하는 가장 효율적인 방법을 배웠습니다.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

관련 문장 - Csharp Dictionary

관련 문장 - Csharp List