Int32・Double・DateTime等の基本型では、MinValue・MaxValueフィールドを参照することにより、各型で扱える最小値・最大値を取得することができます。
これらのフィールドは、.NETの型名・言語組み込みの型名のどちらでも参照できます。 当然、どちらでも値は同じです。
MinValue・MaxValueフィールドを参照して型の最小値・最大値を取得する
using System;
class Sample {
static void Main()
{
// int型/Int32の最小値・最大値
Console.WriteLine("int.MinValue = {0}, int.MaxValue = {1}", int.MinValue, int.MaxValue);
Console.WriteLine("Int32.MinValue = {0}, Int32.MaxValue = {1}", Int32.MinValue, Int32.MaxValue);
Console.WriteLine();
// uint型の最小値・最大値
Console.WriteLine("uint.MinValue = {0}, uint.MaxValue = {1}", uint.MinValue, uint.MaxValue);
// double型の最小値・最大値
Console.WriteLine("double.MinValue = {0}, double.MaxValue = {1}", double.MinValue, double.MaxValue);
// DateTimeの最小値・最大値
Console.WriteLine("DateTime.MinValue = {0}, DateTime.MaxValue = {1}", DateTime.MinValue, DateTime.MaxValue);
}
}
実行結果
int.MinValue = -2147483648, int.MaxValue = 2147483647 Int32.MinValue = -2147483648, Int32.MaxValue = 2147483647 uint.MinValue = 0, uint.MaxValue = 4294967295 double.MinValue = -1.79769313486232E+308, double.MaxValue = 1.79769313486232E+308 DateTime.MinValue = 0001/01/01 0:00:00, DateTime.MaxValue = 9999/12/31 23:59:59
Int32・Int64等は実行環境が32ビットか64ビットかどうかに関わらず、常に32ビット・64ビットであるため、実行環境によってMaxValue・MinValueフィールドの値が変わるということはありません。 (§.Int32, Int64と32ビット・64ビット環境)
MaxValue・MinValueフィールドは、数直線上において0から最も離れた(無限大に最も近い)正または負の値を返します。 浮動小数点数型に対して、数直線上において0に最も近い正の値を取得したい場合はEpsilonフィールドを参照します。