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回
ディスカッション
コメント一覧
まだ、コメントがありません