2022年01月23日
川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説!total 764 count

staticキーワード: 静的なメンバーは作らなくても1つある。2つ以上は作れない

Written By: 川俣 晶連絡先

この章のテーマ §

 静的なメンバーを作るstaticキーワードについて学びます。

前提知識 §

Console.WriteLineメソッド, 変数の基礎, int型. クラスの基礎、プロパティ、メソッド、コンストラクタ

解説 §

 型のメンバーの宣言時にstaticキーワードを付けるとメンバーは【静的】になります。静的なメンバーには以下の特徴があります。

  • newしなくても必ず使える
  • 一つの型につき1つだけ必ず存在する
  • 使う時は"型名.メンバー名"として使い、ドットの手前にはインスタンスを書かない

 情報の交通整理をするなど、プログラム中で【必ず1つ】【2つあってはならない】という情報を記述するのに便利です。

罠の数々 §

  • クラスにstaticを付けると、【全てのメンバーは静的でなければならない】という制約が付く
  • メソッド内のメソッドに付けると、外部の変数をキャプチャしないという制約が付く。機能が異なることに注意
  • 静的なコンストラクタにアクセス修飾子は付かない。必ずシステムが自動で呼び出すので、区別する意味がない。付けることもできない
  • 静的なコンストラクタは最初にそのクラスの静的メンバーが使われるときに自動的に呼び出される。明示的に呼び出す方法はない。使われなければ存在しても呼び出されない

参考リンク §

static (C# リファレンス)

サンプルソース: kw_static §

Console.WriteLine(MyStaticSample.MyPropertyStatic);

MyStaticSample.SetPropertyToStatic(2);

Console.WriteLine(MyStaticSample.MyPropertyStatic);

public class MyStaticSample

{

    // 静的なプロパティ

    public static int MyPropertyStatic { get; set; }

    // 静的なメソッド

    public static void SetPropertyToStatic(int x)

    {

        MyPropertyStatic = x;

    }

    // 静的なコンストラクタ

    static MyStaticSample()

    {

        MyPropertyStatic = 1;

    }

}

実行結果 §

1

2

リポジトリ §

https://github.com/autumn009/CSharpPrimer2

練習問題 §

 以下のプログラムの実行結果を予測してみよう。

MySample<int>.Count++;

MySample<string>.Count++;

Console.WriteLine(MySample<byte>.Count);

class MySample<T>

{

    public static int Count = 1;

}

  1. 1
  2. 2
  3. 3
  4. 4
  5. エラー

[[解答]]

Facebook

キーワード【 川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説!
【new_C#入門・全キーワード明快解説!】の次のコンテンツ
2022年
01月
24日
this: 私はだあれ? 自己参照の手段
3days 0 count
total 766 count
【new_C#入門・全キーワード明快解説!】の前のコンテンツ
2022年
01月
22日
eventキーワード: 事件発生! 起きた出来事を通知せよ!
3days 0 count
total 841 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20220123094053
サイトの表紙【new_C#入門・全キーワード明快解説!】の表紙【new_C#入門・全キーワード明快解説!】のコンテンツ全リスト 【new_C#入門・全キーワード明快解説!】の入手全リスト 【new_C#入門・全キーワード明快解説!】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.