Список по группам или сортировка - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь сгруппировать список с помощью программы c # на Xamarin.

List EList;Пример данныхExpList (Элемент, Доп, Значение)

продуктовый 01/03/2019 1000одежда 03/03/2019 250продуктовый 01/04/2019 500фильм 02/03/2018 550одежда 05.05.2009 550

Я хочу сгруппировать список по имени элемента, и мне нужно рассчитать его общее значение.то есть.Группировать списокпродуктовый 01/03/2019 1000продуктовый 01/04/2019 500одежда 03/03/2019 250одежда 05.05.2009 550фильм 02/03/2018 550

РассчитатьЯ хочу немного информации о группе, как показано нижеВсего в группе 3 пунктапродуктовый Количество раз 2 и значение 1500одежда Количество раз 2 и значение 800фильм Количество раз 1 и значение 550

1 Ответ

0 голосов
/ 01 апреля 2019

См. Следующий код

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...