.net column
.NET開発者のためのブログメディア

グローバル変数とは?静的フィールドを使いグローバル変数のように扱う方法

2021年06月28日

SE
グローバル変数について教えてください。

PM
静的フィールドを使いグローバル変数のように扱う方法を紹介いたします。

グローバル変数とは?


C#のグローバル変数について、説明いたします。

まず、プログラムにおけるグローバル変数とは、プログラム全体で使用する事ができる変数のことです。C#のグローバル変数に興味のあるかたは是非ご覧ください。

C#でグローバル変数は使うことができるのか?

C#にはグローバル変数が存在しません。これはC#の開発元であるMicrosoftが公式サイトに書いてあります。

しかし、C#では静的フィールドを、グローバル変数のように使用する事が可能です。

静的フィールドを使う方法

C#で静的フィールドを宣言する場合は、クラス内かつ、関数、メソッドの外で宣言します。その際にstaticを付けることで静的フィールドになります。

実際にC#で静的フィールドを使ってみます。

実行結果
P1_CWHW_1 : 100
P1_CWHW_2 : 1

上記のように、クラス内の二つの関数で値を変更することが可能です。

宣言時にstaticをつけ忘れるとエラーとなるため注意が必要です。

静的フィールドをグローバル変数のように使う方法

C#では静的フィールド宣言時にpublicを付けることでグローバル変数のように、他クラスからも値の変更が可能となります。

実際にpublicを付けて静的フィールドをグローバル変数のように、使ってみます。

実行結果
P1_CWHW_1 : 100
P1_CWHW_2 : 1
P2_CWHW_1 : 1
P1_CWHW_3 : 200

上記のようにProgram1で宣言した静的フィールドに対し、Program2から値を変更することができました。

同じ変数名を使う

C#の静的フィールドは、ローカル変数や別クラスの静的フィールドと同じ名前を使用する事ができます。

実際に使ってみます。

実行結果
P1_CWHW_1 : 0
P1_CWHW_2 : 100
P2_CWHW_1 : 1
P1_CWHW_3 : 100

実行結果が変わってしまいました。これは本来静的フィールドに代入したい値が、ローカル変数への代入となってしまっているからです。ローカル変数と静的フィールドが同じ名前の場合は使いたい静的フィールドが宣言されているクラス名を書く必要があります。

実際に使ってみます。

実行結果
P1_CWHW_1 : 100
P1_CWHW_2 : 1
P2_CWHW_1 : 1
P1_CWHW_3 : 200
P1_LC_GLINT : 9999

実行結果が同じになり、ローカル変数には値が代入されないことを確認できました。

SE
C#ではグローバル変数は存在しないのですね。

PM
静的フィールドを使用する事で、グローバル変数のように扱うことができます。

C#でグローバル変数をつかう

いかがでしたでしょうか。C#ではグローバル変数は存在しませんが、静的フィールドを使用する事で、グローバル変数のように扱うことができます。

静的フィールドで宣言した名前はローカル変数や、他クラスの静的フィールドでも宣言できます。

ぜひ静的フィールドをグローバル変数のように使えることを自身のコードで確認してみてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags