Если вы не можете или не хотите использовать Linq, вот другое решение.Кроме того, похоже, что вам нужно средневзвешенное значение, которое другие авторы, похоже, не заметили.
Добавьте поле Weight в класс пользователя с начальным значением 1. Создайте словарь с идентификаторами пользователя в качестве ключейи пользователь возражает как значения.Переберите свой список пользователей и: * проверьте, содержит ли словарь текущий пользователь *, если нет, добавьте пользователя: dict.Add (user.ID, user) *, если это так, увеличьте вес этогоuser by 1: dict [user.ID] .weight ++
После этого вы можете довольно легко вычислить средневзвешенное значение.Итерируйте по dict.Values и добавляйте user.money * user.weight к переменной sum в каждой итерации.После цикла foreach разделите его на число уникальных пользователей:
double avg = sum / (double)dict.Count;
Не забудьте привести один из операндов к двойному, потому что в противном случае это будет интерпретироваться как целочисленное деление (остаток будетигнорируется).
Извините за неполный пример и плохое форматирование, но я пишу это на своем телефоне.