C#에서 사전을 반복하는 가장 좋은 방법
-
for
루프를 사용하여 C#에서 사전을 반복 -
foreach
루프를 사용하여 C#에서 사전을 반복 -
C#에서 사전을 반복하기 위해
ParallelEnumerable.ForAll
메소드 사용
C#의 Dictionary는 키-값 쌍의 모음입니다. key
는 단어를 나타내고 value
는 그 의미를 나타내는 영어 사전과 다소 유사합니다. 이 기사에서는 사전을 반복하는 다양한 방법을 살펴 보겠습니다.
표현을 위해 기사 전체에서 다음과 같은 사전 개체 정의를 고려할 것입니다.
Dictionary<int, string> sample_Dict = new Dictionary<int, string>();
이제이 사전을 순회하는 데 사용할 수있는 몇 가지 방법을 살펴 보겠습니다.
for
루프를 사용하여 C#에서 사전을 반복
for
루프 방법은 쉽고 간결하며 인덱스를 사용하여 사전을 순차적으로 반복합니다.
using System;
using System.Collections.Generic;
public class Sample {
public static void Main() {
Dictionary<int, string> sample_Dict =
new Dictionary<int, string>() { { 0, "value_1" }, { 1, "value_2" }, { 2, "value_3" } };
for (int index = 0; index < sample_Dict.Count; index++)
System.Console.WriteLine(index + ":" + sample_Dict[index]);
}
}
출력:
0:value_1
1:value_2
2:value_3
알다시피 Dictionary
객체를 정의하는 동안 초기화 목록도 지정했습니다. 이니셜 라이저 목록을 지정하는 동안 목록의 각 항목에 고유 키가 있는지 확인하십시오. 그렇지 않으면 ‘런타임’예외가 발생합니다.
foreach
루프를 사용하여 C#에서 사전을 반복
foreach
루핑은 당신이 선택할 수있는 또 다른 대안입니다.
using System;
using System.Collections.Generic;
public class Sample {
public static void Main() {
Dictionary<int, string> sample_Dict =
new Dictionary<int, string>() { { 0, "value_1" }, { 1, "value_2" }, { 2, "value_3" } };
foreach (var entry in sample_Dict) System.Console.WriteLine(entry.Key + ":" + entry.Value);
}
}
출력:
0:value_1
1:value_2
2:value_3
위의 방법은foreach
루프의 게으른 구현으로 간주 될 수 있습니다. KeyValuePair<TKey,TValue>
구조를 사용하여 foreach
메소드를 구현할 수도 있습니다.
using System;
using System.Collections.Generic;
public class Sample {
public static void Main() {
Dictionary<int, string> sample_Dict =
new Dictionary<int, string>() { { 0, "value_1" }, { 1, "value_2" }, { 2, "value_3" } };
foreach (var entry in sample_Dict) System.Console.WriteLine(entry.Key + ":" + entry.Value);
}
}
출력:
0:value_1
1:value_2
2:value_3
C#에서 사전을 반복하기 위해ParallelEnumerable.ForAll
메소드 사용
이 방법은 사전의 각 키-값 쌍에 대한 멀티 스레딩 처리를 통합하므로 큰 사전을 반복 할 때 유용합니다.
using System;
using System.Linq;
using System.Collections.Generic;
public class Sample {
public static void Main() {
/*User Code Here*/
Dictionary<int, string> sample_Dict =
new Dictionary<int, string>() { { 0, "value_1" }, { 1, "value_2" }, { 2, "value_3" } };
sample_Dict.AsParallel().ForAll(entry => Console.WriteLine(entry.Key + ":" + entry.Value));
}
}
출력:
0:value_1
1:value_2
2:value_3
위에서 언급 한 최선의 방법을 분석 할 때 특정 매개 변수를 고려해야하며 결과는 정황 적입니다. 루핑 방법은 간결하고 효과적이지만 큰 사전을 반복 할 때는 런타임 복잡성 측면에서 비실용적입니다.
여기에는ParallelEnumerable.ForAll
메소드가 사용되어 중요한 시간을 동시에 절약 할 수있어 특정 애플리케이션을 설계하는 동안 중요한 요소가 될 수 있습니다.