#author("2020-04-17T00:19:06+00:00","default:admin","admin")
#author("2020-04-17T00:21:58+00:00","default:admin","admin")
-LINQ : Language Integrated Query

-[[統合言語クエリ (LINQ):https://docs.microsoft.com/ja-jp/dotnet/csharp/linq/]]
-[[C# の LINQ の概要:https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/linq/getting-started-with-linq]]

-[[はじめての LINQ:https://qiita.com/nskydiving/items/c9c47c1e48ea365f8995]]
-[[C# やるなら LINQ を使おう:http://yohshiy.blog.fc2.com/blog-entry-274.html]]
-[[[C#] これだけ押さえておけば大丈夫!?LINQ拡張メソッドまとめ:https://dev.classmethod.jp/etc/c-sharp-linq-extension-methods-review/]]
-[[[C# LINQ] Whereの使い方から注意点まで:https://clickan.click/csharp-linq-where/]]
-[[LINQで書くとデバッグしづらいよね?そんなことないよ:http://blog.okazuki.jp/entry/2017/07/23/165809]]

*処理速度 [#qa9f195d]
-[[【Unity】LINQのパフォーマンス検証:https://techblog.kayac.com/unity_advent_calendar_2018_20]]
-[[LINQが遅いと言われてたので速度比較してみた:https://qiita.com/wilfrem/items/0cbece30e278353eb941]]
-[[【C#】【Linq】データ取得速度比較:https://orizuru.io/blog/csharp/speed_comparison-02/]]

*クエリ演算子 [#wf1a74a9]
-[[FirstOrDefaultとかLastなど単一要素取得のLINQメソッド:https://qiita.com/RyotaMurohoshi/items/0d4cf421e0eb4a9b4765]]

**シーケンス [#d73fb09f]
-クエリ演算子の操作対象となるデータ
-代表的なものとしては IEnumerable<T> 

**遅延実行/即時実行 [#m5669e85]
-遅延実行 ... 実際にデータが必要になったときに実行される

**演算子 [#h01f162d]
-全部で50個ぐらいある

***遅延実行 [#y33da516]
-Select
-SelectMany
-Where

***即時実行 [#gf43a90f]
-Count
-ToDictionary
-ToList
-ToArray

*インタフェース [#ff12539c]
-[[2種類のLINQ:https://csharptan.wordpress.com/2011/12/09/2%E7%A8%AE%E9%A1%9E%E3%81%AElinq/]]
-[[[C#] IEnumerable と IQueryable:http://itkaeru.blogspot.jp/2012/09/c-ienumerable-iqueryable.html]]
-[[IEnumerableとIQueryableの相互変換:https://www.kekyo.net/2013/12/20/653]]
-[[c# - IEnumerable <T>とIQueryable <T>を返す:https://code.i-harness.com/ja/q/2be4c8]]
-[[IQueryable の実装:http://ufcpp.net/study/csharp/sp3_iqueryable.html]]
-[[C#で解説する「データ処理の直交化と汎用化」:http://www.atmarkit.co.jp/fdotnet/chushin/roadtolinq_01/roadtolinq_01_01.html]]

-データを持っているサーバが、いわゆるリレーショナル データベースのように、高度なクエリを受け付けてくれる場合は迷わず外部クエリ方式(IQueryable)を使う
-IQueryable<T>は、IEnumerable<T>を継承している

*関連事項 [#z657e8f0]
-[[IQueryable の仕組みについて:http://csharpvbcomparer.blogspot.jp/2015/03/net-iqueryable-mechanism.html]]
-[[c# - IEnumerable <T>とIQueryable <T>を返す:https://code.i-harness.com/ja/q/2be4c8]]
-[[LINQ to Entitiesに関する私の勘違いを見直した話:http://tsubalog.hatenablog.com/entry/2015/07/03/110000]]
-[[LINQのキホン(.NET):https://qiita.com/kenji-yokoi/items/f1bf511b6894a8d33480]]

*Tips [#k7fd615d]
-[[C#のショートサーキット評価でラムダ式の中のnullチェックを行う:http://www.remember-the-time.xyz/2016/11/c-sharp-null-check-shortcircuit.html]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS