Мне нужно создать список строк, которые представляют первую пятерку суммированных значений.C# сортировка списка строк по списку пар
У меня есть база данных с сотнями счетов, относящихся к различным услугам
отл. электрический $ 600 января 2013 Вода $ 50 января 2013
мне нужно суммировать все те же услуги , которые я сделал здесь
public List<Double> GetSumOfSingleServices
{
get
{
var sums = (from dc in GetDashboardData
group dc by dc.serviceType into g
select g.Sum(sc => sc.serviceCost)).ToList();
return sums;
}
set
{
NotifyPropertyChanged("GetSumOfSingleServices");
}
}
я создал список строку следующим кодом ниже
public List<String> GetServiceNames
{
get
{
var names = (from dc in GetDashboardData
group dc by dc.serviceType into g
select g.First().serviceType).ToList();
return names;
}
set
{
NotifyPropertyChanged("GetServiceNames");
}
}
Теперь данные в этих двух списках являются параллельными значениями GetSumOfSingleServices [0] - это значение для GetServiceNames [0] и т. Д.
Я хотел бы иметь список, который имеет Strings, занимающий наивысшее значение из GetSumOfSingleServices, и так далее.
Так что если самый высокий GetSumOfSingleServices [3] и его параллельная строка - это GetServiceNames [3], то я хотел бы, чтобы GetServiceNames [3] была моей первой записью в списке.
Не знаете, как отсортировать список строк по двойным значениям.
Это
Почему бы вам просто не создать единый список с составным объектом, содержащим как имя, так и сумму? Тогда это будет очень легко сортировать. Синхронизированные индексы пахнут очень плохо. – spender