列出分组依据或排序

时间:2019-03-30 15:26:04

标签: c# arrays list sorting xamarin.forms

我正在尝试使用Xamarin上的c#程序对列表进行分组。

列表EList;
样本数据为
ExpList(Item,dop,Value)

杂货01/03/2019 1000
服装04/03/2019 250
杂货01/04/2019 500
电影02/03/2018 550
衣服02/05/2019 550

我想按商品名称对列表进行分组,并需要计算其总价值。即。
对列表进行分组
杂货01/03/2019 1000
杂货01/04/2019 500
服装04/03/2019 250
衣服02/05/2019 550
电影02/03/2018 550

计算
我想要以下有关组的信息
组项目总数为3
杂货店2次且值是1500
衣服数量2,值是800
电影次数1,值是550

1 个答案:

答案 0 :(得分:0)

请参考以下代码

public class People
{
    public string Name { get; set; }
    public string Date { get; set; }
    public double Value { get; set; }
}


List<People> peopleList = new List<People>()
        {
            new People { Name="grocery ",Date="01/03/2019",Value=1000 },
            new People { Name="clothes ",Date="02/03/2019",Value=250 },
            new People { Name="grocery ",Date="04/03/2019",Value=500 },
            new People { Name="clothes ",Date="01/02/2019",Value=550 },
            new People { Name="movie ",Date="03/03/2019",Value=550 },

        };


var groupList = peopleList.GroupBy(x => x.Name).Select(x => new { name = x.Key,Total=x.Sum(y=>y.Value),Num=x.Distinct().Count() }).Distinct().ToList();

Console.WriteLine("Total group Items is "+groupList.Count() );

foreach(var item in groupList)
{
  Console.WriteLine(item.name + " Number of times "+ item.Num + " and Value is " + item.Total);
}
相关问题