●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

C#で使える「LINQ(言語統合クエリ)」とは?

LINQ(Language Integrated Query) は、C#でコレクションやデータベースのデータを、簡潔かつ直感的に操作できる機能です。
SQLのような書き方で、配列・リスト・データベース・XMLなどに対してクエリ(検索・並び替え・集計など)が行えます。

LINQの2つの書き方

  • クエリ構文: SQL風の書き方
  • メソッド構文: メソッドチェーン形式(ラムダ式を使用)

例:整数のリストから偶数だけを抽出

List numbers = new List { 1, 2, 3, 4, 5, 6 };

var evens1 = from n in numbers
             where n % 2 == 0
             select n;  // クエリ構文

var evens2 = numbers.Where(n => n % 2 == 0);  // メソッド構文
    

主なLINQメソッド一覧

  • Where:条件で絞り込み
  • Select:データを変換・抽出
  • OrderBy / OrderByDescending:並び替え
  • GroupBy:グループ分け
  • Sum / Count / Max / Min / Average:集計
  • First / FirstOrDefault:最初の要素を取得
  • Any / All:条件に一致するか確認

LINQの使用例

string[] names = { "田中", "鈴木", "佐藤", "高橋" };

// "田" を含む名前を抽出
var results = names.Where(n => n.Contains("田"));

foreach (var name in results) {
    Console.WriteLine(name);  // → 田中
}
    

LINQ to Objectsとは?

配列やリストなど、メモリ上のデータに対して使うLINQを「LINQ to Objects」と呼びます。
ほかにも LINQ to SQL、LINQ to XML、LINQ to Entities(Entity Framework)などの種類があります。

LINQのメリット

  • 簡潔で読みやすいコードが書ける
  • 複雑な処理も1行で表現可能
  • 型安全でコンパイル時にチェック可能
  • データ操作の再利用性が高い

注意点

  • using System.Linq; を忘れずに
  • パフォーマンスに注意(大量データでは工夫が必要)

まとめ

LINQ(Language Integrated Query)は、C#のコード内で簡単にデータを検索・抽出・変換できる機能です。
SQL風のクエリ構文と、メソッド構文(ラムダ式)を使い分けることで、柔軟かつ強力なデータ処理が可能になります。
C#を使う上では欠かせない、非常に便利な技術です!

 

C#関連用語集

−−−−−  C#  −−−−−

C#の基本単位「クラス(Class)」とは?

クラスから生まれる実体「オブジェクト(Object)」とは?

クラスの実体「インスタンス(Instance)」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

フィールドへのアクセスを制御!「プロパティ(Property)」とは?

クラスが持つデータ「フィールド(Field)」とは?

クラスの動作を定義する「メソッド(Method)」とは?

既存のクラスを引き継ぐ「継承(Inheritance)」とは?

同じ命令で異なる動きができる「多態性(Polymorphism)」とは?

データを守る「カプセル化(Encapsulation)」とは?

土台だけを用意する「抽象クラス(Abstract Class)」とは?

ルールを定める仕組み「インターフェース(Interface)」とは?

親クラスのメソッドを上書きする「オーバーライド(Override)」とは?

引数の違いで同じ名前が使える「オーバーロード(Overload)」とは?

C#で自分自身を指す「thisキーワード」とは?

親クラスの機能を使う「baseキーワード」とは?

インスタンス不要で使える「static(静的)」とは?

値を変えたくないときに使う「readonly / const(定数)」とは?

メソッドを渡せる仕組み「delegate(デリゲート)」とは?

「何かが起きたら知らせる」仕組み「event(イベント)」とは?

簡潔な書き方ができる「ラムダ式(Lambda Expression)」とは?

C#で使える「LINQ(言語統合クエリ)」とは?

エラーから安全に回復する「例外処理(try-catch-finally)」とは?

意図的にエラーを発生させる「throw(スロー)」とは?

名前空間やリソースを扱う「usingディレクティブ」とは?

クラスの整理に便利な「namespace(名前空間)」とは?

型を柔軟に扱う「ジェネリクス(Generics)」とは?

データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?

処理を止めずに進める「非同期処理(async / await)」とは?

簡単に使えて便利!「自動実装プロパティ」と「プロパティ初期化子」