重要な C# トピック

C#の拡張メソッド(extension method)

このレッスンでは、既存のstring型を変更せずに、新しいメソッドを追加します。

はじめに

拡張メソッド(extension method)を使うと、stringのような.NETの型も含めて、既存の型にメソッドを「追加」できます。実際にはstaticメソッドですが、オブジェクトのメソッドと同じ書き方で呼べるので、コードが読みやすく、見つけやすくなります。

Truncateの最初の引数に付いたキーワードthisは、これがstring型の拡張メソッドであることを示します。そのため、Truncateが文字列にもともとあるメソッドであるかのように、"CodeUtility".Truncate(4)と呼べます。このメソッドは文字列を4文字に切って三点リーダーを付けるので、結果はCode…になります。元のstring型はまったく変わりません。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;

static class StringExtensions
{
    public static string Truncate(this string value, int length)
        => value.Length <= length ? value : value[..length] + "…";
}

class Program
{
    static void Main() => Console.WriteLine("CodeUtility".Truncate(4));
}
実行結果
Code…

デバッガーで練習する

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

チャレンジで練習する

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

すべてのチャレンジ