ナビゲーション リンクのスキップトップページ > C#プログラミング > ch1-3-1 変数・定数・フィールド
▼ ch1-3-1 変数・定数・フィールド ▼

  変数、定数、フィールドは記述位置や値の種類によって名前が変化したもので、3点は兄弟のような関係にあります。この3点の役割はデータを格納する、いわば倉庫のようなもので、実際の倉庫のように用途によって使い分ける必要性や格納量の限界も存在します。先ずは記述位置や用途によって変化する名称を整理して見ましょう。

1: 変数とフィールドの関係

using System;
using System.Windows.Forms;
using System.Drawing;

namespace Var
{
    class VarTest:Form
    {
        // この位置にある変数又は定数はフィールドと呼ばれます。
        static string StaString; // 静的フィールドです。値を代入しなくても問題ありません。
        string InsString;        // インスタンスフィールドです。値を代入する必要があります。

        readonly static string ReaStaString; // 静的(static)の場合constを利用する事は出来ません。
        readonly string ReaString;              // 値を割り当てる必要はありません。
        const string ConString = "定数フィールド";   // 値を割り当てる必要があります。

        private VarTest()
        {
            // フォームが表示される前にメッセージボックスが出現するようにします。
            this.Load += new EventHandler(Form_Load);
        }

        public static voidMain()
        {
            Application.Run(new VarTest());
        }

        private void Form_Load(object sender, EventArgs e)
        {
            VarMethod();
            ConMethod();

            this.Dispose();        // メッセージボックス出現後、アプリケーションを抹殺します。
        }

        private void VarMethod()
        {
            InsString = "インスタンスフィールド";   // インスタンスフィールドに代入します。
            string locString = "ローカル変数";     // ローカル変数です。値を代入が必要です。
            MessageBox.Show(StaString + InsString + locString,"変数の仲間です。");
        }

        private void ConMethod()
        {
            const string locString& = "ローカル定数";   // ローカル定数です。値を代入が必要です。
            MessageBox.Show(ReaStaString + ReaString + ConString + locString +
                 "定数の仲間です。");
        }
    }
}


  以上のサンプルから分る事は2点あります。第1に変数や定数、フィールドには型が必ず必要だと言う事です。これは先程の倉庫の例でいうところの用途による使い分けに相当します。極論ですが港の冷凍倉庫に放射性廃棄物を格納するのは危険極まりないですし、車を格納するのは無意味です。型に対する知識がプログラミングを快適にする切り札となるでしょう。

  第2に代入が必要の有無です。静的フィールドでは値を代入しない場合は既定値に初期化されますが、インスタンスフィールドやローカル変数は既定値に初期化されません。これについては説明が複雑になるので、定数の説明と併せて後ほど詳しくまとめようと思います。サンプルのコメントなどにも解説を挿入します。

Continue
ナビゲーション リンクのスキップトップページ > C#プログラミング > ch1-3-1 変数・定数・フィールド

情報オリンピック[2]
♥ 2009年07月04日 13:39:15

2008年ですね。[1]
♥ 2008年01月01日 00:00:00

自由なスレ[3]
♥ 2007年09月22日 20:51:58

2007年ですね。[1]
♥ 2007年01月01日 00:00:00

こみゅぷらす発足[1]
♥ 2006年12月01日 12:01:23


RSS : FooPah!の更新情報
RSS : 掲示板全体の投稿情報
Copyright(C)2001-2009 FooPah!, All rights reserved.