C# Academy · レッスン

LINQでデータをクエリする

LINQ(Language Integrated Query)で複雑なデータクエリを簡潔にします

レッスン 5/510 ステップ

「LINQでデータをクエリする」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン5/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全5レッスンが含まれています。

LINQ の概要

データクエリに LINQ を使用する

次のレッスンへようこそ!このレッスンでは、C# の強力な機能である LINQ(Language Integrated Query)について学びます。LINQ を使うと、データのクエリや操作を簡単に行えます。それでは始めましょう!

LINQでデータをクエリする — イラスト1

LINQ とは

LINQ(Language Integrated Query)は、コレクション、データベース、XML など、さまざまなソースから一貫した方法でデータをクエリするための C# の機能セットです。

重要なポイント: LINQ はデータクエリを C# の構文に統合するため、直感的で使いやすくなっています。

基本的な LINQ クエリ

LINQ クエリは、クエリ構文またはメソッド構文を使用して記述します。例:

ヒント: 可読性を重視する場合はクエリ構文を、柔軟性を重視する場合はメソッド構文を使用します。

using System;
using System.Linq;

class Program {
    static void Main() {
        int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        // LINQ query syntax
        var evenNumbers = from num in numbers
                          where num % 2 == 0
                          select num;

        Console.WriteLine("Even Numbers:");
        foreach (var num in evenNumbers) {
            Console.WriteLine(num);
        }
    }
}

メソッド構文による LINQ

メソッド構文は、拡張メソッドを使用して LINQ クエリを記述するもう 1 つの方法です。例:

重要なポイント: メソッド構文は、より複雑なクエリでよく使われます。

using System;
using System.Linq;

class Program {
    static void Main() {
        int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        // LINQ method syntax
        var evenNumbers = numbers.Where(num => num % 2 == 0);

        Console.WriteLine("Even Numbers:");
        foreach (var num in evenNumbers) {
            Console.WriteLine(num);
        }
    }
}

コレクションで LINQ を使用する

LINQ はリストなどのコレクションとシームレスに連携します。例:

ヒント: コレクションで LINQ を使用すると、データ操作の作業を簡単にできます。

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static void Main() {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David" };

        // LINQ query to filter names
        var filteredNames = names.Where(name => name.StartsWith("C"));

        Console.WriteLine("Names starting with 'C':");
        foreach (var name in filteredNames) {
            Console.WriteLine(name);
        }
    }
}

LINQ でデータを並べ替える

データを並べ替えるには、OrderBy と OrderByDescending を使用します。例:

重要なポイント: LINQ を使用すると、並べ替え処理を簡単かつ直感的に記述できます。

using System;
using System.Linq;

class Program {
    static void Main() {
        int[] numbers = { 5, 1, 8, 3, 9 };

        // LINQ query to sort numbers
        var sortedNumbers = numbers.OrderBy(num => num);

        Console.WriteLine("Sorted Numbers:");
        foreach (var num in sortedNumbers) {
            Console.WriteLine(num);
        }
    }
}

練習問題

商品のリストを価格でフィルターし、名前で並べ替えて、LINQ を使用して結果を表示するプログラムを作成してください。例:

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static void Main() {
        var products = new List<Product> {
            new Product { Name = "Laptop", Price = 1000 },
            new Product { Name = "Phone", Price = 500 },
            new Product { Name = "Tablet", Price = 300 }
        };

        // LINQ query to filter and sort products
        var filteredProducts = products
            .Where(p => p.Price > 400)
            .OrderBy(p => p.Name);

        Console.WriteLine("Filtered and Sorted Products:");
        foreach (var product in filteredProducts) {
            Console.WriteLine($"{product.Name}: ${product.Price}");
        }
    }
}

class Product {
    public string Name { get; set; }
    public double Price { get; set; }
}

LINQ 使用時のベストプラクティス

以下にベストプラクティスを示します。

  • 簡潔で読みやすいクエリには LINQ を使用します。
  • 複雑なクエリでは、メソッド構文を優先します。
  • 強力なデータ操作を実現するため、LINQ とラムダ式を組み合わせます。

ヒント: 正確性を確認するため、さまざまなデータで LINQ クエリをテストします。

LINQ の復習

よくできました!

おめでとうございます!C# でデータのクエリと操作に LINQ を使用する方法を学びました。これで「ファイルとデータの操作」カテゴリは終了です。新しい課題に進みましょう!

LINQでデータをクエリする — イラスト10
無料で開始

AI チューターと学ぶ C# — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
93
レッスン
346

よくある質問

「LINQでデータをクエリする」レッスンは無料ですか?

はい。「LINQでデータをクエリする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全5レッスンが含まれています。

「LINQでデータをクエリする」で何を学びますか?

LINQ(Language Integrated Query)で複雑なデータクエリを簡潔にします ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C# Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン5/5です。

「LINQでデータをクエリする」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC# Academyレッスンでコードを書いて実行できますか?

はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ファイルの読み書き
  2. JSONとXMLを扱う
  3. 例外処理を理解する
  4. データベースを扱う
  5. LINQでデータをクエリする
← C# Academyに戻る