我需要创建一个表示总和值前五个的字符串列表。C#按双精度列表对字符串列表进行排序
我有数百个票据属于不同的服务
前的数据库。电动$ 600 2013年1月 水$ 50 2013年1月
我需要总结所有这些我在这里做
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]的值,依此类推。
我想要一个列表,其中字符串按照GetSumOfSingleServices的最高值排列,等等。因此,如果最高的GetSumOfSingleServices [3]及其并行字符串是GetServiceNames [3],那么我希望GetServiceNames [3]成为我在列表中的第一个条目。
不知道如何通过double值对字符串列表进行排序。
这
为什么不用一个包含名称和总和的复合对象创建单个列表?这将是超级简单的。同步指数的气味真的很差。 – spender