C# の静的変数
多くの開発者は、C# の静的変数の機能を理解するのが困難です。この記事は、メソッド内で静的変数を宣言できない理由を説明しながら、その目的と使用法を明確にすることを目的としています。
静的変数とは何ですか?
静的変数は、クラスのすべてのインスタンス間で共有されるクラスレベルの変数です。その値は、このクラスから作成されたすべてのオブジェクト間で共有されます。
静的変数をいつ使用するか?
静的変数は通常、クラスの複数のインスタンスにわたって値を維持する必要がある状況で使用されます。典型的な使用例には次のものがあります:
メソッド内で静的変数を宣言できないのはなぜですか?
静的変数はインスタンス レベルの変数とはスコープが異なるため、メソッドの外で宣言されます。インスタンス レベルの変数はオブジェクト インスタンスのスコープ内にのみ存在しますが、静的変数はクラス自体の中に存在します。したがって、メソッドには独自の独立したスコープがあるため、メソッド内で静的変数を宣言することはできません。
例:
静的変数とインスタンスレベル変数の違いを示す次のコードを考えてみましょう。
<code class="language-csharp">public class Book { public static int myInt = 0; // 静态变量 public int instanceInt = 5; // 实例级变量 } public class Exercise { static void Main() { Book book1 = new Book(); book1.instanceInt++; // 增加实例级变量 book1.myInt++; // 增加静态变量 Book book2 = new Book(); Console.WriteLine(book2.instanceInt); // 输出 5 Console.WriteLine(book2.myInt); // 输出 1 } }</code>
この例では:
myInt
は、クラス Book
のオブジェクトが変更するたびに 1 ずつ増加する静的変数です。 instanceInt
は、それが属する特定の Book
オブジェクトのみを 1 だけインクリメントするインスタンス レベルの変数です。 結論:
静的変数は、クラスの複数のインスタンス間で共有されるデータを保存するための強力なツールです。効果的な C# プログラミングには、その目的と使用法を理解することが重要です。ただし、静的変数のスコープが異なるため、メソッド内で宣言できないことに注意することが重要です。
以上が静的変数は C# でどのように機能しますか? 静的変数をメソッド内で宣言できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。