C# 演習

C#のLINQで商品データを絞り込んで選ぶ

このレッスンでは、LINQの問い合わせをつなげて、条件を満たす商品の絞り込み、並べ替え、名前の取り出しを行います。

はじめに

LINQの問い合わせでは、絞り込み、並べ替え、データの選択(射影、projection)といった複数の手順を、ひと続きの処理としてつなげられます。大事なのは、問い合わせが元のリストを変えず、新しい結果を作るだけだということです。

Whereは価格が20以上の商品を残し、OrderByはそれを価格の安い順に並べ、Selectは商品名だけを取り出します。結果はBook, Bagで、元の配列productsには3つの商品がそのまま残っています。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;
using System.Linq;
record Product(string Name, decimal Price);
class Program
{
    static void Main()
    {
        var products = new[] { new Product("Book", 30), new Product("Pen", 5), new Product("Bag", 45) };
        var names = products.Where(p => p.Price >= 20).OrderBy(p => p.Price).Select(p => p.Name);
        Console.WriteLine(string.Join(", ", names));
    }
}
実行結果
Book, Bag

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ