[c#] 사전을 C #의 목록 컬렉션으로 변환

사전을 목록으로 변환하려고 할 때 문제가 있습니다.

예를 들어 템플릿 문자열을 키로, 문자열을 값으로 사용하는 사전이 있습니다. 그런 다음 사전 키를 문자열로 목록 컬렉션으로 변환하고 싶습니다.

Dictionary<string, string> dicNumber = new Dictionary<string, string>();
List<string> listNumber = new List<string>();

dicNumber.Add("1", "First");
dicNumber.Add("2", "Second");
dicNumber.Add("3", "Third");

// So the code may something look like this
//listNumber = dicNumber.Select(??????);



답변

키를 자체 목록으로 변환하려면 :

listNumber = dicNumber.Select(kvp => kvp.Key).ToList();

또는 길이를 줄이고 select를 사용하여 귀찮게하지 않아도됩니다.

listNumber = dicNumber.Keys.ToList();


답변

또는 :

var keys = new List<string>(dicNumber.Keys);


답변

Linq를 사용하려면 다음 스 니펫을 사용할 수 있습니다.

var listNumber = dicNumber.Keys.ToList();


답변

키를 변환하려면 :

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

그렇지 않으면 값을 변환하려는 경우 :

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


답변

foreach (var item in dicNumber)
{
    listnumber.Add(item.Key);
}


답변

사전 키 컬렉션을 하나의 메서드 인수로 전달하려는 경우.

List<string> lstKeys = Dict.Keys;
Methodname(lstKeys);
-------------------
void MethodName(List<String> lstkeys)
{
    `enter code here`
    //Do ur task
}


답변