zoukankan      html  css  js  c++  java
  • C#Linq之求和,平均值,最大值,最小值

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace Wolfy.LinqAggregation
    {
    class Program
    {
    static void Main(string[] args)
    {
    //生成测试数据
    List<Product> list = new List<Product>();
    Random r = new Random();
    for (int i = 0; i < 5; i++)
    {
    float iran = r.Next(1, 111);
    Product pro = new Product() {
    ID = i + 1,
    Name = "宝马" + i.ToString(),
    Price = iran * 1000,
    ProductDate = DateTime.Now.AddDays(i) };
    Product pro2 = new Product() {
    ID = i + 1,
    Name = "宝马" + i.ToString(),
    Price = iran * 1000,
    ProductDate = DateTime.Now.AddDays(i) };
    list.Add(pro);
    list.Add(pro2);
    }
    //求和,求所有的产品总价
    var sumResult = from s in list
    //根据id分组 将分组后的结果集存入p
    group s by s.ID into p
    //此时结果集已经是p,所以要从p中取数据。
    select new {
    key = p.Key,
    sum = p.Sum(x => x.Price),
    min = p.Min(x => x.Price),
    max = p.Max(x => x.Price),
    average = p.Average(x => x.Price),
    count=p.Count() };
    foreach (var item in sumResult)
    {
    Console.WriteLine("id:" + item.key);
    Console.WriteLine("分组的单价总和:" + item.sum);
    Console.WriteLine("分组的最小值:"+item.min);
    Console.WriteLine("分组的最大值:" + item.max);
    Console.WriteLine("分组的平均值:" + item.average);
    Console.WriteLine("分组的中个数:" + item.count);
    }
    Console.Read();
    }
    }
    /// <summary>
    /// 产品类
    /// </summary>
    class Product
    {
    /// <summary>
    /// 产品id
    /// </summary>
    public int ID { set; get; }
    /// <summary>
    /// 产品名称
    /// </summary>
    public string Name { set; get; }
    /// <summary>
    /// 产品单价
    /// </summary>
    public double Price { set; get; }
    /// <summary>
    /// 生产日期
    /// </summary>
    public DateTime ProductDate { set; get; }

    }
    }

  • 相关阅读:
    多项式乘法
    容斥计算多重组合
    D. Tokitsukaze, CSL and Stone Game
    优惠买商品(dp、greedy)
    数星星(单点更新,求前缀和)
    信息推送(单点更新,求前缀和)
    互相送礼物
    Codeforces Round #611 (Div. 3)E. New Year Parties
    多源bfs
    mysql事务和锁
  • 原文地址:https://www.cnblogs.com/LCLBook/p/11262500.html
Copyright © 2011-2022 走看看