2013-01-03 3 views
0

KeyValuePair에서 foreach에 대한 다음 함수가 있습니까?KeyValuePair에서 foreach에 대한 다음 함수가 있습니까?

foreach (KeyValuePair<string, List<class>> KPV in dic) 
{ } 

또는 유일한 해결책 카운터

+6

나는 당신이 무엇을 요구하고 있는지 전혀 모릅니다. –

+1

'KeyValuePair .Next'로 무엇을하고 싶습니까? 반복 될 수있는 세트를 나타내지는 않습니다. 다른 건 foreach 만 있으면 충분합니다. – Tilak

+1

@Tilak은 KeyValuePair에 컬렉션에 대한 개념이 없음을 언급합니다. 다음은 KeyValuePair 인스턴스와 관련하여 아무런 의미가 없습니다. 아마도 당신은 해결하려고하는 문제를 진술해야합니다. –

답변

3

읽기 MSDN Dictionary Class와 루프 전통적인를 사용 :

키 및 값의 집합을 나타낸다.

사전을 반복하는 동안, 당신은 (여기 List<T>) (여기 string) 키의 쌍을 표시 KeyValuePair Structure, 가치와 함께 작동합니다. 의도는 각 쌍에 List<T>을 통해 루프 경우 그래서, 당신은 KeyValuePair.Value Property에 액세스해야합니다
foreach (KeyValuePair<string, List<object>> KPV in dic) 
{ 
    foreach (object v in KPV.Value) 
    { 

    } 
} 

이 또한 내가 List<object>List<class> 교체, 확실히 class이 유형에 대한 가능한 이름이 아닙니다으로.

KeyValuePair.Key Property 값이 중요하지 않은 경우 Dictionary.Values Property을 반복 할 수 있습니다

foreach (List<object> values in dic.Values) 
{ 
    foreach (object v in values) 
    { 

    } 
} 
1

KeyValuePair<TKey, TValue> 개체를 열거 할 수 그들이 Dictionary<TKey, TValue> 객체 내부에 합니다.

Dictionary 안에는 구조체를 사용할 수 있습니다.이 구조체는 찾고자하는 "다음"기능인 Dictionary.Enumerator.MoveNext() 메서드를 제공합니다.

foreach 코드 블록 내부에서 수행하려는 작업을 Google에 알릴 수 있으면 좋을 것입니다.

관련 문제