Можно ли итератору через словарь вот так?Итерация через словарь и выполнение некоторых вещей
- Я хочу, чтобы сосчитать все словарные элементы (сумма каждого значения),
- Далее, для каждого ключа я хочу взять их значение
- Тогда, я хочу, чтобы разделить каждый КАЖДЫЙ значение ключа с суммой
- И ласты Я хочу, чтобы умножить каждый выход из 3
Я сделал это так, он работает с 1 пункт, но не знаете, как сделать это так, я t работает с каждым элементом в словаре.
Вот пример кода для 1 пункта:
var dic = new Dictionary<string, int>();
//this is sum
double y = 0;
foreach (var item in dic)
{
y += item.Value;
}
//this is selected item
double x = 0;
foreach (var item in dic)
{
if (item.Key == "Smith")
{
x = item.Value;
}
}
double z = 0;
z = x/y;
Console.WriteLine("Smith/DicSum: " + z);
Теперь я хотел бы умножить Заболоцкого (каждый Z для каждого ключа в словаре).
Я thiking о создании одной большой петли для этого, как:
for (int i=0; i<y; i++) where y is the sum for all items in dictionary and multiply z's on the end of the loop
, но я до сих пор не знаю, как захватить все раздельные значения и разделить их, не говоря конкретный ключ для каждого из них.
@edit Спасибо за ответы, но проверьте мои изменения. У меня есть список строк, скажу
«Смит очень крутой член Smith Company»
И моя программа подсчет числа Смита, поэтому он будет показывать й как два. Затем я хочу разделить снобизм кузнецов (два) на количество всех слов, так что это 2/8 = 0,25. Затем я хочу сделать это с каждым словом и умножить его так, чтобы в этом примере это было 2/8 * 1/8 * ... * 1/8. Я хочу, чтобы умножить на число из цикла (из словаря), а не на фиксированную сумму, вот что делает эту проблему.
Вашего весь второй цикл эквивалентно 'dic.TryGetValue («Смит», из й);' – dasblinkenlight