【解決方法】先生、静的変数を使用すると、どのような問題が発生する可能性がありますか…?


プログラムで静的変数を使用することは「ない」ことです。 しかし、静的変数または静的関数を使用すると、プログラムで発生する問題がわかりません….

私が試したこと:

あなたの助けが必要なのかわからない

解決策 1

引用:

プログラムで静的変数を使用することは「ない」ことです。

それを言った人が何を言っているのかわからないか、あなたが言われた内容の多くの文脈を見逃しているかのどちらかです。

static フィールド/プロパティ/メソッドには、コードを書く際の有効な用途がたくさんあります。 あなたは彼らと何をしているのかを理解する必要があります.

たとえば、静的フィールドは通常*、プロセスの存続期間全体で 1 つの値しか格納できません。 たとえば、Web アプリケーションを作成している場合は、 static ユーザー固有のデータを格納するためのフィールドは、データが他のユーザーのデータで上書きされるため、重大なエラーです。

しかし、全面禁止 static 彼らを理解していないことから生じる誤った行動の一例に基づいて、メンバーは深刻な過剰反応です.

* 「通常」。スレッドごとに異なる値を格納する「スレッド静的」フィールドを使用できるため:
ThreadStaticAttribute クラス (システム) | マイクロソフト ラーン[^]

または、次のようなものを使用できます ThreadLocal<T> クラスの単一の静的インスタンスは、スレッドごとに異なる値を格納します。
ThreadLocal クラス (System.Threading) | マイクロソフト ラーン[^]

または、論理的な「呼び出しコンテキスト」ごとに異なる値を返す静的プロパティを設定することもできます。たとえば、 HttpContext.Current 財産。

コメント

タイトルとURLをコピーしました