gpt4 book ai didi

C# 按 double 列表对字符串列表进行排序

转载 作者:太空狗 更新时间:2023-10-30 00:19:42 25 4
gpt4 key购买 nike

我需要创建一个字符串列表来表示前五个求和值。

我有一个数据库,其中包含数百个与不同服务相关的账单

例如。电动 $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 值对字符串列表进行排序。

那个

最佳答案

有了看起来像这样的源,您所有的转换都变得容易了:

var compositeList = GetDashboardData
.GroupBy(dc => dc.serviceType)
.Select(g => new{
name = g.Key,
sum = g.Sum(sc => sc.serviceCost)})
.ToList();

(您可以考虑创建一个具有两个属性 namesum 的具体类,而不是上面的匿名对象声明)。

现在:

compositeList.OrderByDescending(x => x.sum).Select(x => x.name);

等等。

同步列表很糟糕。

关于C# 按 double 列表对字符串列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com