• Enumerable 类提供的表达式方法


    【01】

    【名称】Aggregate<>

    【描述】对应用序列累加函数

    【用法】

    代码
     string sentence = "the quick brown fox jumps over the lazy dog";

     
    string[] words = sentence.Split(' ');

     
    string reversed = words.Aggregate((workingSentence, next) =>next + " " + workingSentence);

     Console.WriteLine(reversed);


    /*
       传入一个起始值,也可以理解为已经累加完的值,然后下一个值
    */

    【02】

    【名称】All<>

    【描述】确定序列中的所有元素是否满足条件

    【用法】

    代码
    List<UserClass> Lists = new List<UserClass>
                {
                    
    new UserClass{ Age=15, Name="先生A"},
                    
    new UserClass{ Age=16, Name="先生B"},
                    
    new UserClass{ Age=17, Name="女士A"},
                    
    new UserClass{ Age=22, Name="女士B"},
                    
    new UserClass{ Age=24, Name="女士C"},
                    
    new UserClass{ Age=26, Name="女士D"},
                    
    new UserClass{ Age=27, Name="女士E"},
                    
    new UserClass{ Age=28, Name="女士F"}
                };
                
     
    bool _Default = Lists.All(User => { return User.Age > 50; });

    /*
       结果为:false 所有的都不满足
    */

    【03】

    【名称】Any<>

    【描述】确定序列中的任何元素是否都满足条件

    【用法】

    bool _Default =Lists.Any( u => { return u.Age > 20; } );//结果为:true,只要有一个满足条件就为true

    【04】

    【名称】Average<>

    【描述】可以计算出序列当中的平均值

    【用法】

    double dou = Lists.Average(User => { return User.Age; });
    //结果为 21.875

    【05】

    【名称】Find<>

    【描述】查找集合当中指定的对象

    【用法】 Lists.Find(U => { return U.Age == 22; });

    【06】

    【名称】ForEach

    【描述】遍历集合中的对象

    【用法】

    Lists.ForEach(  U => { if (U.Age < 20) MessageBox.Show(U.Name); }  );

    【07】

    【名称】GroupBy<>

    【描述】分组,这个方法有好多参数大家慢慢研究,我指出一个例子的用法

    【用法】

    代码
    List<UserClass> Lists = new List<UserClass>
                {
                    
    new UserClass{ Age=15, Name="先生A"},
                    
    new UserClass{ Age=15, Name="先生B"},
                    
    new UserClass{ Age=15, Name="女士A"},
                    
    new UserClass{ Age=16, Name="女士B"},
                    
    new UserClass{ Age=16, Name="女士C"},
                    
    new UserClass{ Age=20, Name="女士D"},
                    
    new UserClass{ Age=20, Name="女士E"},
                    
    new UserClass{ Age=20, Name="女士F"}
                };

                Lists.GroupBy(pet 
    => pet.Age,
                       (Age, pets) 
    => new
                       {
                           Key 
    = Age,
                           Count 
    = pets.Count(),
                           Min 
    = pets.Min(pet => pet.Age),
                           Max 
    = pets.Max(pet => pet.Age)
                       }
                   ).ToList().ForEach(U 
    => Console.WriteLine("【总数:{0}】【最大值:{1}】【最小值:{2}】【分组:{3}】", U.Count, U.Max, U.Min, U.Key));

                Console.ReadKey();

    【07】

    【名称】Select<>

    【描述】返回新的对象数组

    【用法】

    代码
     Lists.Select(U => new
                {
                    Age 
    = U.Age,
                    Name 
    = U.Name + DateTime.Now.ToString("yy-mm-dd")
                }
                ).ToList().ForEach(U 
    => Console.WriteLine("【年龄:{0}】【名称:{1}】", U.Age, U.Name));
  • 相关阅读:
    spring boot单元测试之七:用mockmvc模拟session(spring boot 2.4.3)
    spring boot单元测试之六:用mockmvc模拟cookie(spring boot 2.4.3)
    sql join 注意事项
    见路不走,即见因果
    presto sql 经典sql 应用
    别拿你的职业去拔高你个人的规格, 让人轻看
    《遥远的救世主》经典台词
    《卜算子·自嘲》
    天道连续剧 丁元英语录
    shell diff + kettle = mail 预警
  • 原文地址:https://www.cnblogs.com/tongly/p/1872906.html
Copyright © 2020-2023  润新知