Lambda表达式(精通C#第六版)

Lambda表达式一些可参考的小技巧和解答,

关于Lambda表达的Find、FindAll一个小解答和使用匿名函数、非匿名函数、labmda表达式的一些小实例

Find:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 System.Collections.Generic.List<T> 中的第一个匹配元素

FindAll:检索与指定谓词定义的条件匹配的所有元素

   static void TraditionalDelegateSyneax()
        {
            List<int> list = new List<int>();
            
            list.AddRange(new int[] { 20, 1, 4, 8, 9, 44 });

            //使用传统的委托调用findAll
            Predicate<int> callback = new Predicate<int>(IsEvenNumber);

            //不使用匿名函数
            //List<int> evenNumbers = list.FindAll(callback);

            //使用匿名函数
            //List<int> evenNumbers = list.FindAll(delegate(int i) { return (i % 2) == 0; });

            //使用labmda表达式,labmda表达的参数即可以是显示类式,也可以是隐式类型化,
            //List<int> evenNumbers = list.FindAll(x => (x % 2) == 0);

            //使用多个语句处理参数
            List<int> evenNumbers = list.FindAll((i) => 
            {
                Console.WriteLine("value of is current:{0}",i);
                bool isEven = ((i % 2) == 0);
                return isEven;
            });

            Console.WriteLine("Here are you  even numbers");
            foreach (var evenNumber in evenNumbers)
            {
                Console.WriteLine("{0}\t",evenNumber);
            }
            Console.ReadLine();
        }

    static bool IsEvenNumber(int i)
    {
      return (i % 2) == 0;
    }

 

 

转载于:https://www.cnblogs.com/chaonuanxi/p/10865328.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值