【温故知新】C# Linq中 Where使用技巧

微信公众号:趣编程ACE
关注可了解更多的.NET日常实战开发技巧,如需源码 后台回复 源码 即可;
如果觉得对你有帮助,欢迎关注

C# Linq中 Where使用技巧

hello 大家好,很开心又能重新分享C#编程开发技巧了,之前因为工作和生活没有达成一个很好的平衡,导致状态下滑,好像断更很久了。在这里不得自我检讨一波,以后继续分享~大家一起交流呀~

你可能不知道的源码网站

.Net源码开源反编译工具 https://github.com/KirillOsenkov/SourceBrowser
在上面的地址里面有着查看源码的网页端工具,很方便大家学习我们巨硬大佬写的代码,赶紧Mark吧~

51feda5ee864c82f9c3d8c4a6c2cff0f.png

Where 的基本使用

1            var array = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 定义包含十个数据的数组
2            var data = array.Where(x => x % 2==0); // Where 条件里面过滤整数
3            foreach (var item in data)
4            {
5                Console.WriteLine(item); // 2,4,6,8,10
6            }

自定义Where 扩展函数

首先定义一个静态类 WhereExtension

1public static IEnumerable<T> NewWhere<T> (this IEnumerable<T> items, Func<T,bool> func)
 2{
 3
 4   foreach (var item in items)
 5    {
 6       if(func(item))
 7         {
 8           yield return item; // yield 关键字的用法详细看上面视频
 9         }
10    }
11}

IEnumerable && yield 实现一个斐波那契数列(无需递归)

1public static IEnumerable<int> GenarateFibonacci(int n)
 2{
 3     if(n== 0) yield break;
 4     if (n >= 1) yield return 1;
 5
 6     for (int i = 0,a=1,b=1; i < n-1; i++)
 7     {
 8        int temp = a + b;
 9        a = b;
10        b= temp;
11        yield return a;
12      }
13}

时间有限,还有很多语法骚操作并未分享,在后续的文章中会把所学所用的技巧都分享出来,希望可以一起进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值