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#のプログラミングを楽しみましょう!