2014-06-10 5 views
-1

For 루프에 전체 KeyValuePair를 전달하려면 어떻게해야합니까?For 루프에서 KeyValuePair를 Pasing

Dim grouped As New Dictionary(Of [String], List(Of DataRow))() 
    For index = grouped.Count-1 To 0 Step -1 

    'How do I pass the entire KeyValuePair to the PopulateData function? 
    PopulateData(????) 
    Next 
+0

'그룹화 된'변수의 유형은 무엇입니까? – pmcoltrane

+0

Dictionary (Of [String], List of (DataRow)) –

+0

KVP를 전달하려면'For Each kvp As KeyValuePair ... '로 돌아 가야합니다. 그러나 메서드는 논리적으로'List (of DataRow) 즉 값 부분 만 신경 써야합니다. – Plutonix

답변

3

당신은 예를 들어, 이런 식으로 작업을 수행 할 수 있습니다

Sub Main() 
    Dim grouped As New Dictionary(Of [String], List(Of DataRow))() 
    For index = grouped.Count - 1 To 0 Step -1 
    PopulateData(New KeyValuePair(Of String, 
     List(Of DataRow))(grouped.Keys(index), grouped.Values(index))) 
    Next 
End Sub 

Sub PopulateData(kv As KeyValuePair(Of String, List(Of DataRow))) 
End Sub 

을하지만, 당신이 한계에 이런 식으로 .NET 프레임 워크를 스트레칭하는, 사전이 안되고 앞으로 반복 또는 뒤로합니다. 반복을 결정하더라도 코드가 요소의 순서에 의존해서는 안되며 나중에 코드가 중단 될 수 있습니다.

+0

임에 의존하지 않아도된다. 내 데이터는 어떤 이유에서나 처음에는 그룹화되었다. 선호도를 통해 반복하고 싶다. 입력이있는 순서 –

+0

사전을 사용하여 그룹으로 편평한 데이터 분리 –

+0

'내 데이터가 어떤 이유로 인해 처음으로 그룹화되었습니다'사전에 그룹화 된 방법을 어떻게 알 수 있습니까? 지정된 순서! @NickLaMarca – Plutonix