LINQでデータをクエリする
LINQ(Language Integrated Query)で複雑なデータクエリを簡潔にします
「LINQでデータをクエリする」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン5/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全5レッスンが含まれています。
LINQ の概要
データクエリに LINQ を使用する
次のレッスンへようこそ!このレッスンでは、C# の強力な機能である LINQ(Language Integrated Query)について学びます。LINQ を使うと、データのクエリや操作を簡単に行えます。それでは始めましょう!

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 を使用する方法を学びました。これで「ファイルとデータの操作」カテゴリは終了です。新しい課題に進みましょう!

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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ファイルの読み書き
- JSONとXMLを扱う
- 例外処理を理解する
- データベースを扱う
- LINQでデータをクエリする