C#プログラミング入門!初心者向け その7 (変数を覚えよう!③var型変数について)

ビジュアルスタジオC#
Visualstudio

var型変数について

みつる君
みつる君

次は、var型変数について説明します。var型は自動的に数値や文字列を判断する便利な型です。

今までの、「int」や「string」は明示型、「var」は暗黙型と言われています。

var型変数は、宣言時に型を指定せずに、代入される値に応じて自動的に型が決まる変数のことです。例えば、var x = 10;と書くと、xはint型の変数として扱われます。

var y = “Hello”;と書くと、yはstring型の変数として扱われます。このように、var型変数はコードを簡潔に書くことができるメリットがあります。

では、詳細を下記に示します。

stringの場合

みつる君
みつる君

まず、明示型である、string を使って、”Hello World!”を表示してみます。

string str = “Hello World!”; ですね!

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello World!";
            Console.WriteLine(str);
        }
    }
}

みつる君
みつる君

実行結果は

Hello World!

みつる君
みつる君

となりますね!

みつる君
みつる君

では、暗黙型である、var を使って、”Hello World!”を表示してみます。

var str = “Hello World!”; ですね!

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var str = "Hello World!";
            Console.WriteLine(str);
        }
    }
}

みつる君
みつる君

実行結果は

Hello World!

みつる君
みつる君

となり、結果は同じになります。

intの場合

みつる君
みつる君

まず、明示型である、int を使って、5を表示してみます。
int number = 5; ですね!

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number = 5;
            Console.WriteLine(number);
        }
    }
}

みつる君
みつる君

実行結果は

5

みつる君
みつる君

結果は同じです。

みつる君
みつる君

では、暗黙型である、var を使って、5を表示してみます。
var number = 5; ですね!

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var number = 5;
            Console.WriteLine(number);
        }
    }
}

みつる君
みつる君

となりますね!

5

みつる君
みつる君

結果は同じです。

varは自動判断

みつる君
みつる君

上記から分かるように、varを使えば、文字列でも、数値でも、自動認識します。int とか double とか string とか、気にせずに、varで宣言できるということです。

var型変数のメリットとデメリット

メリット

  • 型名が長い場合やジェネリック型を使う場合に、コードが見やすくなる。
  • 匿名型や匿名関数を使う場合に、var型変数が必要になる。
  • 型を明示的に宣言すると、意図しないキャストや暗黙的な変換が発生する可能性があるが、var型変数ではそれを防ぐことができる。

デメリット

  • var型変数はローカル変数にしか使えない。フィールドやプロパティには使えない。
  • var型変数は初期化しなければならない。nullや未定義の値を代入することはできない。
  • var型変数は明示的な型宣言よりもパフォーマンスが低下する可能性がある。特にループ内でvar型変数を使う場合には注意が必要である。
  • var型変数はコードの可読性や保守性を低下させる可能性がある。特に複雑な式やオブジェクトを代入する場合には、変数の型が分かりづらくなる。
マリさん
マリさん

以上がvar型変数についての説明でした。

C#のプログラミングを楽しみましょう!

侍エンジニアPlus
タイトルとURLをコピーしました