【C#】変数の使い方についてわかりやすく詳しく解説

C#プログラミングにおいて、変数は非常に重要な役割を担っています。

初心者の方にとっては、変数の使い方がわかりづらいこともあるかもしれません。

そこで本記事では、C#での変数の使い方について詳しく解説します。

目次

変数とは何か

変数とは、プログラム中で値を格納するための箱のようなものです。

C#では、変数に値を代入することでその値を保持し、必要に応じて参照することができます。 例えば、以下のようなコードを考えてみましょう。

int age = 25;

このコードでは、ageという名前の変数に整数型の値25が代入されています。

この変数は後で参照される可能性があるため、プログラム中で保持されます。

また、C#では様々なデータ型が用意されており、それぞれ異なる種類の値を扱うことができます。例えば、整数型の他にも文字列型や浮動小数点型などがあります。

string name = "John";
double height = 175.5;

このようにして、適切なデータ型を選択して変数を宣言することで、プログラム中で必要な情報を正確かつ効率的に扱うことができます。

変数の宣言方法

変数とは、プログラム中で値を格納するための仕組みです。C#では、変数を宣言することで使用することができます。

変数の型

C#には様々なデータ型があります。変数の型は、その変数が保持する値の種類によって決まります。以下に代表的なデータ型を示します。

  • int:整数
  • double:浮動小数点数
  • string:文字列
  • bool:真偽値
int i = 10;
double d = 5.5;
string s = "Hello";
bool b = true; 

変数名の命名規則

変数名は、意味を持ったわかりやすい名前をつけることが重要です。また、C#では以下のルールに従って命名することが推奨されています。

  • 英字またはアンダースコア(_)から始める。
  • アンダースコア(_)以外の記号は使用しない。
  • 予約語(ifやwhileなど)を変数名に使えない(if0_whileなどはOK)

変数に初期値を設定する方法

変数宣言時に初期値を設定することもできます。初期化しなかった場合、変数には自動的に0やnullが代入されます。

int age = 20; // 初期値20でageという変数を宣言
string name = "John"; // 初期値"John"でnameという変数を宣言
double height; // 初期化していない変数を、初期化前に使用するとエラーになる

以上がC#での変数宣言方法です。次回は、実際に演算子を使って計算してみましょう。

変数の使い方

変数の使い方 変数は、プログラムで扱うデータを一時的に格納するためのものです。ここでは、変数の代入方法、演算方法、比較方法について説明します。

変数の代入

変数に値を代入するには、=を使用します。例えば、int型の変数numに10を代入する場合は以下のように記述します。

int num = 10;

また、既存の変数に新しい値を代入することもできます。例えば、上記で宣言したnumに20を代入する場合は以下のように記述します。

num = 20;

変数の演算

変数同士や定数と変数を演算することができます。C#では四則演算や比較演算子などが使用できます。

四則演算

四則演算は以下のような記号を使用して行います。

  • 加算:+
  • 減算:-
  • 乗算:*
  • 除算:/ 例えば、以下のようなコードでは2つの整数型変数a, bを加減乗除しています。
int a = 5;
int b = 3;
int c = a + b; // 加算結果: 8
int d = a - b; // 減算結果: 2
int e = a * b; // 乗算結果: 15
int f = a / b; // 除算結果: 1(整数型の場合は小数点以下切り捨て)

比較演算子

比較演算子は以下のような記号を使用して行います。

  • 等しい:==
  • 等しくない:!=
  • より大きい:>
  • より小さい:<
  • 以上:>=
  • 以下:<= 例えば、以下のようなコードでは2つの整数型変数a, bを比較しています。
int a = 5;
int b = 3;
bool c = (a == b); // false(等しくない)
bool d = (a != b); // true(等しくない)
bool e = (a > b); // true(aがbより大きい)
bool f = (a < b); // false(aがbより小さい)
bool g = (a >= b); // true(aがb以上)
bool h = (a <= b); // false(aがb以下)

変数の比較

文字列型や数字型以外でも、オブジェクト同士を比較することができます。

ただし、オブジェクト同士を直接比較することはできません。そのため、「Equals()メソッド」というメソッドを使用してオブジェクト同士を比較します。

例えば、以下のようなコードでは2つのstring型オブジェクトstr1, str2 を比較しています。

string str1= "Hello";
string str2= "World";
if(str1.Equals(str2))
{
    Console.WriteLine("str1とstr2は等しい");
}
else 
{
    Console.WriteLine("str1とstr2は異なる");
}

この場合、「str1とstr2は異なる」と表示されます。

変数のスコープ

変数には、その有効範囲が決まっています。この有効範囲を「スコープ」と呼びます。

ローカル変数

ローカル変数とは、関数内で宣言された変数のことです。

ローカル変数は、その関数内でしか使用することができません。

また、同じ名前のローカル変数を別の関数内で宣言しても、それぞれ別々の変数として扱われます。 以下は、ローカル変数を使用した例です。

using System;
class Program
{
    static void Main(string[] args)
    {
        int x = 10; // ローカル変数xを宣言し、初期値10を代入する
        Console.WriteLine(x); // xの値を表示する
    }
}

上記のプログラムでは、Mainメソッド内でint型のローカル変数xを宣言し、初期値10を代入しています。そして、Console.WriteLineメソッドによってxの値が表示されます。

グローバル変数

グローバル変数とは、関数外で宣言された変数のことです。グローバル変数はプログラム全体で使用することができます。

ただし、グローバル変数は複雑なプログラムでは管理が難しくなるため、必要最小限に留めることが望ましいです。 以下は、グローバル変数を使用した例です。

using System;
class Program
{
    static int x = 10; // グローバル変数xを宣言し、初期値10を代入する
    static void Main(string[] args)
    {
        Console.WriteLine(x); // xの値を表示する
    }
}

上記のプログラムでは、Mainメソッド内でグローバル変数xを参照しています。

このようにグローバル変数はどこからでも参照可能ですが、複雑なプログラムでは誤った値が代入される可能性もあるため注意が必要です。

変数の配列

変数の配列について解説します。

一次元配列

一次元配列とは、同じ型の複数の値を格納するための変数です。以下は、整数型の一次元配列を宣言し、初期化する例です。

int[] numbers = { 1, 2, 3, 4, 5 };

上記の例では、numbersという名前の整数型の一次元配列を宣言し、{1,2,3,4,5}で初期化しています。また、要素にアクセスする場合は、インデックス番号を指定します。

Console.WriteLine(numbers[0]); // 出力結果: 1

上記の例では、numbers配列の最初の要素である1が出力されます。

二次元配列

二次元配列とは、行と列からなる表形式のデータを格納するための変数です。以下は、整数型の二次元配列を宣言し、初期化する例です。

int[,] matrix = { {1,2}, {3,4}, {5,6} };

上記の例では、matrixという名前の整数型の二次元配列を宣言し、3行2列で初期化しています。また、要素にアクセスする場合は、行番号と列番号を指定します。

Console.WriteLine(matrix[0,0]); // 出力結果: 1

他のプログラミング言語では、配列の要素にアクセスするためにはmatrix[0][0]のように書かないといけないことが多いですが、C#では[0,0]のように書くことが可能です。

上記の例では、matrix配列の最初(0)行最初(0)列である1が出力されます。

多次元配列

多次元配列とは、三次元以上になるような表形式データを格納するために使用されます。以下は整数型多次元配列を宣言し初期化する例です。

int[,,] cube = new int[2,3,4];

上記では cube という名前で 2 x 3 x 4(2面3行4段) の整数型多次元配列を作成しています。また要素へアクセスする場合もインデックス番号で指定します。

cube[0,1,2] = 10;
Console.WriteLine(cube[0,1,2]); // 出力結果:10

上記では cube[0][1][2](面・行・段) の位置に 10 を代入しています。そして同じ位置から値が取り出せていることが確認できます。

変数の応用

変数はプログラミングにおいて非常に重要な役割を果たします。ここでは、変数の使い方について例を交えながら解説していきます。

変数の使い方の例

1. ユーザーから入力された値を変数に代入する

Console.WriteLine("好きな数字を入力してください:");
int num = int.Parse(Console.ReadLine());
Console.WriteLine("あなたが入力した数字は" + num + "です。");

上記のコードでは、ユーザーから入力された数字をnumという変数に代入し、その後numの値を表示しています。

2. 変数を使って計算する

int x = 5;
int y = 3;
int z = x + y;
Console.WriteLine("xとyの合計は" + z + "です。");

上記のコードでは、xyという2つの変数にそれぞれ5と3という値を代入し、それらを足した結果をzという変数に代入しています。そして、最後にzの値を表示しています。

変数を扱うポイント

1. 変数名はわかりやすく命名する

変数名はプログラム内で何度も使用されるため、わかりやすく命名することが重要です。また、命名規則に従うようにしましょう。

2. 大文字小文字は区別される

C#では大文字小文字が区別されます。つまり、同じ単語でも大文字小文字が異なる場合は別々の変数として扱われます。

3. スコープに注意する

ローカル変数やグローバル変数などスコープ(有効範囲)が異なる場合があります。スコープ外で定義された変数は使用できません。 以上がC#での変数の応用方法や注意点です。

目次