而是再說嘗試 寫出Linq
試圖去解析 Linq的寫法
希望帶來一些啟發
可以用在專案上
如果只是想知道如何使用
可以左轉參考這邊
https://kw0006667.wordpress.com/2013/05/29/clinq%E7%B0%A1%E5%96%AE%E4%BD%BF%E7%94%A8-from-where-select/
我覺得這篇寫得還不錯
----------------------------------------------------
這篇用 Linq 的 ToList() 當作範例 :
總歸來說 他使用了三樣東西
1. 擴充函式
2. Interface
3. Generic
在已經知道上述 3 樣東西的是什麼前提下
才會了解下面在說啥
-----------------------------------------------------
切入正題 :
Queue<T> , Statck<T> , T[]
都能夠直接使用Linq語法 ToList()
直接轉換成 List<T> 的形式
為什麼?
因為我們都知道一個規則
兒子Class 可以使用 爸爸Class 的 函式
Queue<T> : IEnumerable<T>
Stack<T> : IEnumerable<T>
T[] : IEnumerable<T>
所以基於 ( 因為爸爸有 所以我也有的概念 )
我們直接擴充爸爸就好啦 ~
範例程式碼 :
結果:
結論 :
最終成功山寨了 Linq ToList() 這個Function
至於其他Linq的 Function 也是基於差不多的想法
只是有用到 delegate 等等其他技巧
可能可以再寫一篇 0.0
沒有留言:
張貼留言