#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]]