2014-11-03 3 views
0

Я пытаюсь использовать для каждого оператора для итерации всех значений в списке словарей, который я создал. Я хотел бы иметь возможность распечатывать все значения. А также вызывать индивидуальные значения.Как я могу итерации через словарь

Dim dblExpenses = New Dictionary(Of String, Double) 
    dblExpenses.Add("Travel_Days", CDbl(txtTravelDays.Text)) 
    dblExpenses.Add("Private_Vehicle_Miles", CDbl(txtPrivateVehicleMiles.Text)) 
    dblExpenses.Add("Airfare", CDbl(txtAirfare.Text)) 
    dblExpenses.Add("Car_Rental_Fees", CDbl(txtCarRentalFees.Text)) 
    dblExpenses.Add("Parking_Fees", CDbl(txtParkingFees.Text)) 
    dblExpenses.Add("Taxi_Charges", CDbl(txtTaxiCharges.Text)) 
    dblExpenses.Add("Registration_Fees", CDbl(txtRegistationFees.Text)) 
    dblExpenses.Add("Lodging_Per_Night", CDbl(txtLodgingPerNight.Text)) 
    dblExpenses.Add("Meals", CDbl(txtMeals.Text)) 

    For Each item As Double In dblExpenses 

    Next 

Благодарим вас за помощь. Я сделал несколько поисков, но я не смог найти ни одного, использующего для каждого, чтобы перебирать словарь.

+0

Вам необходимо выполнить итерацию по коллекции ключей. – Tim

ответ

0

Вы должны использовать

For Each item As KeyValuePair(Of String, Double) In dblExpenses 
    'item.Key for key 
    'item.Value for value 
Next 

Или вы можете попробовать только значения.

For Each item As Double In dblExpenses.Values 
    'item 
Next 
+0

Спасибо, что работает отлично. Использование KeyValuePair определенно то, что я должен прочитать больше. –

+0

Дайте им проголосовать на стрелке вверх! – CristiC777

+0

Недостаточно репутации, чтобы сделать это. –

Смежные вопросы