C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の変数のスコープとは?メソッドレベルとクラスレベルの違いを解説

変数のスコープとは

変数のスコープ(有効範囲)とは、その変数にアクセスできるコード上の領域を指します。C#では、変数をどこで宣言するかによって、そのスコープが決まります。

C#の変数には、主に以下の2つのレベルがあります。

メソッドレベル

メソッド内で宣言された変数は「ローカル変数」と呼ばれます。ローカル変数は、そのメソッド内でのみアクセス可能であり、メソッドの処理が完了すると破棄されます。

クラスレベル

クラス内で宣言された変数は「クラスのメンバー変数(フィールド)」と呼ばれます。メンバー変数はクラス全体からアクセスでき、オブジェクトが存在する間は値を保持し続けるという特徴があります。

変数のスコープのサンプルコード

以下に、C#における変数のスコープの具体例を示します。

using System;

namespace Demo {
    class Program {
        public int Divide(int num1, int num2) {
            // メソッド内のローカル変数
            int result;
            result = num1 / num2;
            return result;
        }
        static void Main(string[] args) {
            // ローカル変数
            int a = 150;
            int b = 10;
            int res;
            Program p = new Program();
            res = p.Divide(a, b);
            Console.WriteLine("Division Result = {0}", res);
            Console.ReadLine();
        }
    }
}

実行結果

Division Result = 15

コードの解説

この例では、Mainメソッド内で宣言されている変数 abres はすべてローカル変数であり、Mainメソッド内でのみ使用できます。同様に、Divideメソッド内の result もローカル変数で、このメソッドの外からはアクセスできません。

このように、変数のスコープを正しく理解することで、意図しない変数へのアクセスを防ぎ、バグの少ない安全なプログラムを書くことができます。

  1. Bashの変数の基本:設定・削除・子プロセスへの渡し方を実例付きで解説

    コンピュータサイエンス(そして日常的なコンピューティング)において、変数とは、後で使う情報を一時的に保持しておくメモリ上の場所のことです。言い換えれば、データを入れたり取り出したりするための一時的な保管容器です。Bashシェルでは、そのデータは単語(コンピュータ用語では「文字列」)でも数値(「整数」)でも構いません。 パソコンで意識的に変数を使ったことがない人でも、生活の中では変数に相当するものを使っているはずです。「あれを取って」「これを見て」といった言葉は、文法上の変数(代名詞)です。「これ」や「あれ」が何を指すのかは、話し手が頭の中で思い浮かべているものや指差している対象によって決まりま

  2. 【初心者向け】PowerShellの変数の基本:作成・確認・削除・追加の方法をわかりやすく解説

    コンピュータサイエンスにおいて、変数とは後で利用するために任意の情報を格納しておくメモリ上の場所のことです。言い換えれば、データを一時的に保存し、必要なときに取り出すための「入れ物」です。シェル環境では、そのデータは単語(文字列)でも数字(整数)でも構いません。 パソコンで意識的に変数を使ったことがない人でも、日常生活の中で変数に近いものを使っているはずです。「あれを取って」「これを見て」といった言葉は、文法上の変数(いわゆる代名詞)と言えます。「これ」「あれ」が何を指すのかは、話し手が頭に思い浮かべているものや指差している対象によって決まります。数学でも未知の値を記号で表しますが、それも立派