C# static チュートリアル

「static」の基本を C# を例にしたチュートリアルでまとめてみます。

🔹 1. static とは?

  • static は 「クラスやメンバーをインスタンス(オブジェクト)を作らずに使えるようにする」 修飾子です。
  • 共通のデータや処理を扱いたいとき に便利です。

🔹 2. static を使う場所

使う場所説明
クラスstatic class Utilityインスタンス化できない、共通の機能をまとめる
フィールド(変数)static int count;すべてのインスタンスで共有する変数
メソッドstatic void Print()インスタンスを作らずに呼び出せるメソッド
プロパティstatic int Count { get; set; }インスタンス不要で値を共有

🔹 3. 例:static メンバー

using System;

class Program
{
    // static フィールド
    static int count = 0;

    // static メソッド
    static void Increment()
    {
        count++;
    }

    static void Main()
    {
        Console.WriteLine($"初期値: {count}"); // 0

        Increment();
        Increment();

        Console.WriteLine($"2回増加後: {count}"); // 2
    }
}

🔹 4. static class

static class MathHelper
{
    public static int Add(int a, int b)
    {
        return a + b;
    }
}

// 呼び出し例
class Program
{
    static void Main()
    {
        int sum = MathHelper.Add(3, 5);
        Console.WriteLine(sum); // 8
    }
}
  • static class は インスタンス化できない
  • すべてのメンバーも static でなければならない

🔹 5. 注意点

✅ static メンバーはインスタンス間で値が共有される

✅ static コンストラクタ(static constructor)は最初のアクセス時に1度だけ実行される

✅ static クラスは継承できない


🔹 6. いつ使う?

  • 設定値や計算処理など 共通機能をまとめるとき
  • データをインスタンス間で共有するとき(例:総数カウント)

✅ まとめ

ポイント内容
インスタンス不要new せずに直接アクセス
共有データすべてのインスタンスで同じ値を共有
Utility クラスに最適計算・変換などの共通処理に便利

訪問数 4 回, 今日の訪問数 1回

C#,静的クラス

Posted by hidepon