【溫故知新】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{34???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;56?????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}

時間有限,還有很多語法騷操作并未分享,在后續的文章中會把所學所用的技巧都分享出來,希望可以一起進步!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/283797.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/283797.shtml
英文地址,請注明出處:http://en.pswp.cn/news/283797.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JS引用類型 -- Array類型

ECMAScript數組與其他語言中的數組都是數據的有序列表&#xff0c;但與其他語言不同的是&#xff0c;ECMAScript數組的每一項可以保存任何類型的數據。而且ECMAScript數組的大小是可以動態調整的&#xff0c;即可以隨著數據的添加自動增長。 創建數組的基本方式有兩種&#xff…

分布式id解決方案

文章目錄 1.分布式id實現方案 1.1.uuid1.2 數據庫主鍵自增1.3 Redis自增1.4 號段模式1.5 雪花算法&#xff08;snowflake&#xff09; 1.5.1 百度&#xff08;uid-generator&#xff09;1.5.2 美團&#xff08;Leaf&#xff09;所謂id就是能夠用作唯一標識的記號。 在我們日常的…

我和大象的十年往事 - 感恩、感謝、加油、騰飛

背景 http://www.idcquan.com/Special/OSCAR2018/index.html 由中國信息通信研究院主辦、中國通信標準化協會支持的"OSCAR云計算開源產業大會"于2018年3月21日&#xff0d;22日在國家會議中心舉行。 非常有幸獲得了“OSCAR尖峰開源人物”獎項。 獎項不敢自居&#xf…

Httpclient發送json請求

一、Httpclient發送json請求 public String RequestJsonPost(String url){ String strresponse null; try{ HttpClient hc new DefaultHttpClient(); HttpPost hp new HttpPost(url); JSONObject jsonParam new JSONObject(); jsonParam.pu…

基于ABP的AppUser對象擴展

在ABP中AppUser表的數據字段是有限的&#xff0c;現在有個場景是和小程序對接&#xff0c;需要在AppUser表中添加一個OpenId字段。今天有個小伙伴在群中遇到的問題是基于ABP的AppUser對象擴展后&#xff0c;用戶查詢是沒有問題的&#xff0c;但是增加和更新就會報"XXX fie…

html (align 、placeholder )

onblur 事件會在對象失去焦點時發生。 onkeyup 事件會在鍵盤按鍵被松開時發生。 ----------------------------------------------------------------------------------------------------------- align 屬性規定單元格中內容的水平對齊方式。 <td align"value"&…

4種分布式session解決方案

cookie和session的區別和聯系 cookie是本地客戶端用來存儲少量數據信息的&#xff0c;保存在客戶端&#xff0c;用戶能夠很容易的獲取&#xff0c;安全性不高&#xff0c;存儲的數據量小 session是服務器用來存儲部分數據信息&#xff0c;保存在服務器&#xff0c;用戶不容易獲…

L2-020. 功夫傳人

一門武功能否傳承久遠并被發揚光大&#xff0c;是要看緣分的。一般來說&#xff0c;師傅傳授給徒弟的武功總要打個折扣&#xff0c;于是越往后傳&#xff0c;弟子們的功夫就越弱…… 直到某一支的某一代突然出現一個天分特別高的弟子&#xff08;或者是吃到了靈丹、挖到了特別的…

找數組里沒出現的數

題目&#xff1a;給定整數的數組&#xff0c;其中1≤A [1]≤ N&#xff08;N數組的大小&#xff09;&#xff0c;一些元素出現兩次以及其他出現一次。找到不出現在這個數組中的[1&#xff0c;n ]包含的所有元素。 思路&#xff1a;map的思想。。。。 public List<Integer>…

Blazor University (43)JavaScript 互操作 —— 類型安全

原文鏈接&#xff1a;https://blazor-university.com/javascript-interop/calling-dotnet-from-javascript/type-safety/類型安全在從 JavaScript 調用 .NET[1] 部分中&#xff0c;您可能已經注意到我們的 JavaScript 的第 6 行在將隨機生成的數字傳遞給 .NET 之前調用了 toStr…

分享 60 個神級 VS Code 插件

文章來源&#xff1a;juejin.cn/post/6994327298740600839 本文不做任何編輯器的比較&#xff0c;只是我本人日常使用 vscode 進行開發&#xff0c;并且比較喜歡折騰 vscode &#xff0c;會到處找這一些好玩的插件&#xff0c;于是越攢越多&#xff0c;今天給大家推薦一下我收…

URL結構分析

http://bh-lay.com/blog/14b531db64a

PHP 基礎篇 - PHP 中 DES 加解密詳解

2019獨角獸企業重金招聘Python工程師標準>>> 一、簡介 DES 是對稱性加密里面常見一種&#xff0c;全稱為 Data Encryption Standard&#xff0c;即數據加密標準&#xff0c;是一種使用密鑰加密的塊算法。密鑰長度是64位(bit)&#xff0c;超過位數密鑰被忽略。所謂對…

PerfView專題 (第一篇): 如何尋找熱點函數

一&#xff1a;背景 準備開個系列來聊一下 PerfView 這款工具&#xff0c;熟悉我的朋友都知道我喜歡用 WinDbg&#xff0c;這東西雖然很牛&#xff0c;但也不是萬能的&#xff0c;也有一些場景他解決不了或者很難解決&#xff0c;這時候借助一些其他的工具來輔助&#xff0c;是…

3四則運算軟件2016011992

使用JAVA編程語言&#xff0c;獨立完成一個3到5個運算符的四則運算練習的命令行軟件開發 基本功能要求&#xff1a; 程序可接收一個輸入參數n&#xff0c;然后隨機產生n道加減乘除&#xff08;分別使用符號-*來表示&#xff09;練習題&#xff0c;每個數字在 0 和 100 之間…

JAVA高并發多線程必須懂的50個問題

下面是Java線程相關的熱門面試題&#xff0c;你可以用它來好好準備面試。 1) 什么是線程&#xff1f; 線程是操作系統能夠進行運算調度的最小單位&#xff0c;它被包含在進程之中&#xff0c;是進程中的實際運作單位。程序員可以通過它進行多處理器編程&#xff0c;你可以使用…

Centos7設置IP為固定值

1.進入到系統的IP地址保存文件所在目錄 [rootlocalhost ~]# cd /etc/sysconfig/network-scripts 2.修改保存IP信息的文件 [rootlocalhost ~]# vim ifcfg-eth0 &#xff08;你機器上的名字有可能不是這個&#xff0c;但是是以ifcfg-eth開頭的文件&#xff09; 保存后退出 3.重啟…

為 EditorConfig 文件開啟錯誤編譯失敗

前言上次&#xff0c;我們介紹了 EditorConfig 文件可以自定義代碼樣式規則。但是&#xff0c;當我們想設置代碼樣式嚴重性&#xff0c;比如不允許編譯成功時&#xff0c;又踩了不少坑。修改無效想把 var 首選項&#xff0c;從“首選"var" 僅重構”&#xff0c;改成“…

【.NET特供-第三季】ASP.NET MVC系列:傳統WebForm站點和MVC站點執行機制對照

本文以圖形化的方式&#xff0c;從‘執行機制’方面對照傳統WebForm站點和MVC站點。請參看下面圖形&#xff1a; 一、執行機制 當我們訪問一個站點的時候&#xff0c;瀏覽器和server都是做了哪些動作呢&#xff1f; &#xff08;本文僅僅是提供一個簡單的執行過程&#xff0c;有…

hdoj1045 Fire Net(二分圖最大匹配)

題意&#xff1a;給出一個圖&#xff0c;其中有 . 和 X 兩種&#xff0c;. 為通路&#xff0c;X表示墻&#xff0c;在其中放炸彈&#xff0c;然后炸彈不能穿過墻&#xff0c;問你最多在圖中可以放多少個炸彈&#xff1f; 這個題建圖有點復雜orz。 建圖&#xff0c;首先把每一行…