C#で利用可能な変数のデフォルト値(初期値)について記述します。
前回の記事でC#で利用可能な変数について記述しました。
記事を書いている途中で初心者らしい次の疑問が浮かびました。
「変数を宣言したら、デフォルト値(初期値)は何がはいっているんだろう?」
普通に考えると”0″や”null”が出力されるとは思いますが、直接確認したいと思い検証してみました。
あわせて読みたい
変数のデフォルト値(初期値)を求めるソースコード
using System;
class Program
{
static void Main(string[] args)
{
//初期化せずにフィールドを読み既定値を確認する
string format = "{0, -8}:{1}", line = "*=---------------------------------------------------=*";
var a = new DefaultValues();
Console.WriteLine(line);
Console.WriteLine("変数名 :デフォルト値");
Console.WriteLine(line);
Console.WriteLine(format, "sbyte", a.sh);
Console.WriteLine(format, "short", a.sh);
Console.WriteLine(format, "int", a.i);
Console.WriteLine(format, "long", a.l);
Console.WriteLine(format, "byte", a.by);
Console.WriteLine(format, "ushort", a.us);
Console.WriteLine(format, "uint", a.ui);
Console.WriteLine(format, "ulong", a.l);
Console.WriteLine(format, "float", a.f);
Console.WriteLine(format, "double", a.d);
Console.WriteLine(format, "decimal", a.de);
Console.Write(format, "char", (int)a.c);
Console.WriteLine(" ※nullは表示できないため数値変換し表示");
Console.Write(format, "string", a.s == null);
Console.WriteLine(" ※nullは表示できないため比較内容を表示");
Console.WriteLine(format, "bool", a.b);
Console.WriteLine(line);
}
}
class DefaultValues
{
// 変数設定
public sbyte sb;
public short sh;
public int i;
public long l;
public byte by;
public ushort us;
public uint ui;
public ulong ul;
public float f;
public double d;
public decimal de;
public char c;
public string s;
public bool b;
}
出力結果
説明は以上となります。
この記事が誰かの助けになれば幸いです。