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

C#のvarキーワードとは?暗黙的型付けの基本と使い方を解説

C#の「var」キーワードは、変数を暗黙的に型指定(implicit typing)して宣言するための機能です。varを使うと、明示的に型名を書かなくても、代入した値からコンパイラが自動的に適切な型を推論してくれます。整数(int)、文字列(string)、浮動小数点数(float/double)など、どんな型の値でもそのまま代入できます。

なお、varは「動的な型」ではなく、あくまでコンパイル時に型が確定する点に注意しましょう。宣言と同時に必ず初期化が必要で、一度型が決まれば後から別の型を代入することはできません。

基本的な使用例

まずは、varを使ってint型とstring型の変数を宣言するシンプルな例を見てみましょう。

using System;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            var myInt = 5;
            var myString = "Amit";
            Console.WriteLine("Rank: {0} \nName: {1}", myInt, myString);
        }
    }
}

出力結果

Rank: 5
Name: Amit

この例では、「5」を代入した時点でmyIntはint型に、「Amit」を代入した時点でmyStringはstring型に、それぞれコンパイラによって推論されています。

配列でのvarの使用例

varは配列にも使えます。foreachループと組み合わせると、コードがすっきりと読みやすくなります。

using System;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            var myInt = new int[] {65, 43, 88, 56};
            foreach(var val in myInt)
                Console.WriteLine(val);
        }
    }
}

出力結果

65
43
88
56

varを使う際の注意点

varは便利なキーワードですが、以下のルールを押さえておく必要があります。

宣言時に必ず初期化する:var x; のように宣言だけを行うことはできません。
型はコンパイル時に決定される:実行時に型が変わるわけではなく、dynamicとは異なります。
クラスのフィールドには使えない:varはローカル変数専用です。
複数変数の同時宣言には使えない:var a = 1, b = 2; のような書き方はできません。

これらを理解した上で活用すれば、特に型名が長い場合やLINQのクエリ結果を受け取る際などに、コードの可読性を高めることができます。

  1. Twitterのバイオとは?意味・変更方法と魅力的な例文を徹底解説

    Twitterのバイオとは?その意味と役割Twitterのバイオ(自己紹介文)は、プロフィール設定を構成する重要な要素のひとつです。プロフィール画面では、名前とハンドルネーム(@ユーザー名)の下に表示されます。自分がどのような人物なのかを短く紹介したり、興味や関心を伝えたり、自分のビジネスをアピールしたりするために活用しましょう。バイオの変更方法バイオはプロフィールの編集からいつでも変更できます。ハッシュタグ(#)や@ユーザー名を組み合わせれば、より多くの人に自分のアカウントを見つけてもらいやすくなります。なお、バイオにはスペースを含めて160文字までという文字数制限がある点に注意してください

  2. Pythonの「yield」キーワードとは?ジェネレータの仕組みと使い方を徹底解説

    Pythonのyieldキーワードは、ジェネレータ(generator)を作成するために使用されます。その動作を理解するには、まず「イテラブル(iterable)」と「イテレータ(iterator)」について知っておく必要があります。 イテラブルとイテレータとは リスト、文字列、ファイルなどのPythonオブジェクトは「イテラブル」と呼ばれます。for ... in構文で走査(反復処理)できるオブジェクトが、すべてイテラブルです。 イテレータオブジェクトもイテラブルの一種ですが、一度しか反復処理できないという特徴があります。任意のイテラブルからはiter()関数を使ってイテレータを取得でき、イ