Это совершенно простая вещь и застрял в ней на некоторое время.Вот сценарий - у меня есть запрос, где я делаю Count
с Group By
.Затем повторяем его с циклом foreach
следующим образом, чтобы получить отдельные значения:
var query = (from c in GetProducts()
group c by c.Type into g
select new
{
Type = g.Key,
Count = g.Count()
});
double value = 0;
double valTotal = 0;
double finalResult = 0;
foreach (var item in query)
{
value = (((Convert.ToDouble(item.Count)) / 10) * 100); //Getting the count from the above query and this gets individual result set, say grouping category
valTotal += value; //Trying to do the total of the 'value' result set and this doesn't return the appropriate sum
finalResult = ((value / valTotal) * 100); Then trying to divide the individual values with the total in the end to get values in percentage
}
Пример: получение значений из цикла foreach и в переменной value, я получаю - 10, 20, 30, 40. Затемсуммируйте их все (10 + 20 + 30 + 40) = 100 и, наконец, снова индивидуальный набор результатов, например (10/100) * 100;(20/100) * 100 и так далее.Я ожидаю сделать это простым способом, но, похоже, что-то здесь упустил.Мы будем благодарны за любые предложения.
Примечание : переменная finalResult
должна в конечном итоге возвращать индивидуальный набор результатов, подобный этому (10/100) * 100 = 10%;(20/100) * 100 = 20%.