开头很简单,最难的是坚持。|

陈侠云

园龄:2年10个月粉丝:1关注:1

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

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

    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);
            }
        }
    }

本文作者:陈侠云

本文链接:https://www.cnblogs.com/chenxiayun/p/18293984

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   陈侠云  阅读(11)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起