[C#]Linqの使い方

linq

C#を使ってプログラミングをしている皆さん(VB.netも)Linq使ってますか?自分は毎回使ってます。なぜならLinqが大好きだからです。

簡単な処理から難しい処理までなんでもこなせるLinqは本当に素晴らしいと思います。C#を使っていてLinqを使用しないのは勿体無いとまで言えます!(言い過ぎ?)

Linqとは

いまさら感もありますがLinqとはなんぞや?から

統合言語クエリ

統合言語クエリ (LINQ, Language INtegrated Query, リンクと発音する)とは、.NET Framework 3.5において、様々な種類のデータ集合に対して標準化された方法でデータを問い合わせる(クエリ)ことを可能にするために、言語に統合された機能のことである。

Wikipedia

大まかに言うとデータにもCSVやデータベースなど色々なデータ形式があるので、全てを統合して処理が出来る言語を用意しましたと言ったところです。

Linqのいいところ

何と言ってもデータベースなどからデータを取得する際にSQLを意識しなくていい点ですよね。最近のORMが主流となった現代では当たり前のように機能があったりします。ASP.netでもMVCが合ったりRuby On RailsでもSQLを意識しなくてもデータ取得が出来るようになっていますね。

基本的な考え方としてデータベースのデータもコード内で定義された変数も全てをオブジェクトとして考えているのが凄いポイントだと思っています。

変数への参照やデータ加工 メソッドなど
データベースへの参照 SQL

となっていたところを

変数への参照やデータ加工 Linq
データベースへの参照 Linq

というように全て同じものとして処理が出来るんですよね

サンプル

EntityFrameworkを使用してデータを取得する前提ですで、データ構成は前回のものを参照します。

なお、Linqにはメソッド構文とクエリ構文がありますが自分はいつもメソッド構文を使っています。理由は特にありません、ただ単にメソッド構文で慣れてしまったからです。

【C#】PostgreSQLでEntityFrameworkの使用方法#2

データを全て取得

データを一件だけ取得

データの順序を変更

データの検索

あいまい検索

etc

他にも色々メソッドはありますが紹介しきれません。DictinctやSelectにCountはよく使います。

LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。

広告

コメントを残す

メールアドレスが公開されることはありません。