C#のパターンマッチングでデータを分類する
このレッスンでは、型パターン、比較パターン、プロパティパターンを使って、いろいろな型の値を分類します。
はじめに
パターンマッチングを使うと、型のチェック、値のチェック、データの取り出しを1つの式の中で組み合わせられます。この練習では、どんな値でも受け取って、ふさわしい説明を返す分類用の関数を作ります。
パターンint and >= 18は、18以上の整数に一致します。パターンstring { Length: 0 }は、値が本当に文字列であることを確かめたうえで、空の文字列に一致します。パターンstring textは残りのすべての文字列に一致し、値を変数textに取り出します。"CSharp"は6文字なので、結果はtext(6)です。
実行できる C# の例
C#
Program.cs
using System;
class Program
{
static string Classify(object? value) => value switch
{
int and >= 18 => "adult age", string { Length: 0 } => "empty text",
string text => $"text({text.Length})", null => "null", _ => "other"
};
static void Main() => Console.WriteLine(Classify("CSharp"));
}
text(6)デバッガーで練習する
大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
- Triangle Classification Classify three side lengths as invalid, equilateral, isosceles, or scalene. 簡単