首页 > 编程语言 >观《深入理解C#有感》--- 排序搜索

观《深入理解C#有感》--- 排序搜索

时间:2024-07-10 14:32:05浏览次数:10  
标签:10 product Console 有感 C# price Product --- products

关于在无序列表中,找到所需数据的五种写法

    class Program
    {
        class Product
        {
            public string name;
            public int price;

            public override string ToString()
            {
                return name;
            }
        }

        static void Main(string[] args)
        {
            List<Product> products = new List<Product>()
            {
                new Product(){name = "A", price = 5},
                new Product(){name = "B", price = 10},
                new Product(){name = "C", price = 15},
            };

            // 例子1
            foreach(var product in products)
            {
                if(product.price >= 10)
                {
                    Console.WriteLine(product);
                }
            }

            // 例子2
            Predicate<Product> predicate = delegate (Product p) { return p.price >= 10; };
            List<Product> matches = products.FindAll(predicate);
            Action<Product> print = Console.WriteLine;
            matches.ForEach(print);

            // 例子3
            products.FindAll((p) => p.price >= 10).ForEach(Console.WriteLine);
        
            // 例子4
            foreach(Product product in products.Where(p => p.price >= 10))
            {
                Console.WriteLine(product);
            }

            // 例子5 LINQ语法
            var filiered = from Product p in products
                           where p.price >= 10
                           select p;
            foreach(Product product in filiered)
            {
                Console.WriteLine(product);
            }
        }
    }

标签:10,product,Console,有感,C#,price,Product,---,products
From: https://www.cnblogs.com/chenxiayun/p/18293984

相关文章

  • 讲师招募 | Apache DolphinScheduler Meetup诚邀您共建开源!
    随着ApacheDolphinScheduler在全球范围内的快速发展,我们的用户群体和社区活动也在不断扩大。为了进一步丰富我们的社区内容,分享更多有价值的知识和经验,我们诚挚地邀请您加入我们,成为ApacheDolphinScheduler社区的分享嘉宾。Meetup是什么?ApacheDolphinScheduler是一个云原......
  • D. Same GCDs
    原题链接题解\(\gcd(a+x,m)=\gcd((a+x)mod\m,m)\)由于\(x\in[0,m-1]\),所以\((a+x)mod\m\)一定能遍历完\([0,m-1]\)里的所有数所以\(\gcd(a+x,m)\)等价于\(\gcd(x,m)\)接下来,令\(d=\gcd(a,m)\),则有\(m=t_1d\),\(x=t_2d\),其中\(t_1\)与\(t_2\)互质(如果不互质,......
  • Stable Diffusion|IP-Adapter 图片风格迁移
    前段时间腾讯发布了一个新的ControlNet模型叫“IP-Adapter”,它的作用就是把上传的图像转化为图像提示词,简单的来说就是跟Midjourney的垫图功能差不多。IP-Adapter能够精准地识别参考图的风格特征,并且可以很好的适配其他的模型以及ControlNet模型。它还可以让图像提示词......
  • 微量样本及单细胞DNA甲基化研究如何发高分SCI文章(特别适用珍稀样本)
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。单细胞及微量样本的DNA甲基化组学研究很大程度上受制于建库技术。传统的文库构建方法或类似于基因组DNA的单细胞扩增技术很难应用到甲基化实验过程中。易基因建立了一系列微量及单细胞甲基化检测方法,可对于不同项目需......
  • manim边学边做--MarkupText
    manim中主要有3个用于显示文本内容的对象,前两篇已经介绍过Text和Paragraph。本篇介绍最后一个MarkupText,与前两个不同的是,MarkupText的文本中支持实用一些HTML的语法,因此,它的表现力更胜前两个。MarkupText在manim各个模块中的位置大致如上图中所示。1.主要参数MarkupText除了支......
  • opc ua设备数据 转MQTT项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 配置VFBOX网关采集OPCUA的数据 25 用MQTT协议转发数据 46 配置参数说明 47 上报内容配置 58 其他说明 89 案例总结 81 案例说明设置网关采集OPCUA设备数据把采集的数据转成MQTT协议转发给其他系统。2 VFBOX......
  • 【基于R语言群体遗传学】-15-溯祖理论coalescence
    在群体遗传学中,一个非常重要的概念是关注谱系的汇聚(遗传线索的汇合),当我们回溯过去几代人口时。在之前的博客中,我们几乎只处理了随时间推移基因变化的“正向”模拟。群体遗传学_tRNA做科研的博客-CSDN博客然而,通过时间逆向建模等位基因频率变化不仅是一个有趣的视角,当你知道......
  • 【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibriu
    Tajima'sDTest已经开发了几种中性检验,用于识别模型假设的潜在偏差。在这里,我们将说明一种有影响力的中性检验,即Tajima'sD(Tajima1989)。Tajima'sD通过比较数据集中的两个......
  • CB利用链分析
    分析版本CommonsBeanutils1.9.4JDK8u65参考Shiro反序列化漏洞(三)-shiro无依赖利用链分析过程CommonsBeanutils是一个用于操作JAVABEAN的工具包。先看下基础使用publicclassPerson{//JAVABEANprivateStringname;privateintage;public......
  • CC4利用链分析
    我的Github主页Java反序列化学习同步更新,有简单的利用链图分析版本CommonsCollections4.0JDK8u65环境配置参考JAVA安全初探(三):CC1链全分析分析过程在CommonsCollections4.0中,TransformingComparator类变为可序列化类,增加了一条攻击链。CC4在CC3的基础上,改变了......