クエリー(LINQ)について ( No.48 )
日時: 2022/10/18 02:02
名前: REDCHEEKS

クイアじゃないよ、クイアはLGBTの話、クイアじゃなくてクエリの話だよ。
クエリーとは、データベース問い合わせ言語のこと。
昔は、データを検索するとか、並べ替えるとか、そのような事にもいちいちプログラムしていたが、それでは効率が上がらないし、間違いの元ということで、そういったお決まりの処理を専門に行うシステムが誕生した。
それを「データベース」という。
だから今では、検索するとか並べ替えるとか、そういう処理そのものを、実務でプログラミングすることは無い。
だからと言って、プログラムが不要になったわけではない。
データベースに対して「こうこうこういう条件で検索し、こういう条件で並べ替えてくれ」と指示を出すことは必要であり、そのためのプログラム言語がクエリーなのだ。

クエリーといえば、昔からSQLが有名だが、最近はさらに進化して、C# などのプログラム言語に統合して組み込まれた、LINQなんかが最新だな。
というわけで、これまで通り、課題Hを使ってエッチな説明をしていこう。

http://mediasp.kir.jp/img20220326/imgloglog-box/img20221017225627.png
@ クエリー(LINQ)の使用を宣言する。
A foreach のひとつ前の行で「変態コレクション」から特定の条件(男のみ)で絞り込み「選ばれし変態たち」というコレクションを作成する。
B foreach 文内の「変態コレクション」を「選ばれし変態たち」に置き換える(コメントも含め)。
C 「課題H」をクリックし実行する。


【結果】
D 男である REDCHEEKS のみに対して、おしおき() と おなに() が実行されればOK(女である ざんちゃん さんは表示されないこと)


【解説】
追加したプログラム
**************************************************
var 選ばれし変態たち = 変態コレクション.Where(h => h is 男);
**************************************************
について説明しよう。

このなかで、Where(h => h is 男) がクエリーである。

さらに、Where の後のカッコ内は、ラムダ式と呼ばれる、検索条件である。
「=>」の左にある「h」は、変態の1人を指す。
「=>」の右にある「h is 男」は検索条件である。

※ つまりこれの意味するところは、変態コレクションに含まれる1人の変態を「h」とし「h is 男」の条件を満たす変態を抽出するという事である。


【課題】
var 選ばれし変態たち = 〜 の後を変更してみよう。

var 選ばれし変態たち = 変態コレクション.Where(h => h.嗜好タイプ == spankType.DisciplineSpanking); // 嗜好タイプ=ディシプリンのみに絞り込む

var 選ばれし変態たち = 変態コレクション.OrderByDescending(h => h.嗜好タイプ); // 嗜好タイプで逆順に並び変える