C# のグローバル変数に他のスレッドがあることに気付きました。整数、文字列など。
public static int;
しかし、他のスレッドが言及していない「var」を使用する必要があり、
public static var;
動作しないようです。
だから私が求めているのは、C#で「var」をグローバル変数として持つことは可能ですか?
C# のグローバル変数に他のスレッドがあることに気付きました。整数、文字列など。
public static int;
しかし、他のスレッドが言及していない「var」を使用する必要があり、
public static var;
動作しないようです。
だから私が求めているのは、C#で「var」をグローバル変数として持つことは可能ですか?
C# 仕様(セクション 26.1)には次のように書かれています。
[`var は] 暗黙的に型指定されたローカル変数宣言です ...
それはさらに続きます:
暗黙的に型指定されたローカル変数宣言内のローカル変数宣言子には、次の制限が適用されます。
- 宣言子には初期化子を含める必要があります。
- 初期化子は式でなければなりません。
- 初期化式には、null 型にできないコンパイル時の型が必要です。
- ローカル変数の宣言には、複数の宣言子を含めることはできません。
- 初期化子は、宣言された変数自体を参照できません
いいえ、これはできません。さらに、グローバル変数について考えることさえやめることをお勧めします。
この言語では、グローバル変数はサポートされていません。public static
フィールドで代替を見つけることができますが、これはオブジェクトの状態を漏らし、カプセル化を破ります。
いいえ、var 自体は型ではないため、代入の右側にある式の形式をとるだけです。
var num = 1;
以下と同じです:
int num = 1;
メソッドの外側にスコープが設定されている変数を宣言するときは、完全な型指定子を使用する必要があります。
public static int num = 1;
また
public static int Num {get;set;}
等