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

C#のUInt64.MaxValueフィールドとは?サンプルコード付きでわかりやすく解説

C#におけるUInt64.MaxValueフィールドは、64ビット符号なし整数(ulong型)が取り得る最大値を表す定数です。その値は「18,446,744,073,709,551,615」であり、0からこの値までの範囲を扱えます。オーバーフローチェックや値域の検証など、数値の境界値を扱う場面で活躍するフィールドです。

構文

UInt64.MaxValueフィールドの構文は以下のとおりです。

public const ulong MaxValue = 18446744073709551615;

MaxValueはconst定数として宣言されているため、コンパイル時に値が確定し、実行時のオーバーヘッドなく利用できます。

使用例1:基本的な使い方

まずは、UInt64.MaxValueフィールドの基本的な実装例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        ulong val1 = 879879879;
        ulong val2 = 464556565;
        Console.WriteLine("Value1 = "+val1);
        Console.WriteLine("Value2 = "+val2);
        Console.WriteLine("HashCode for value1 = "+val1.GetHashCode());
        Console.WriteLine("HashCode for value2 = "+val2.GetHashCode());
        Console.WriteLine("Are they equal? = "+(val1.Equals(val2)));
        TypeCode type1 = val1.GetTypeCode();
        TypeCode type2 = val2.GetTypeCode();
        Console.WriteLine("TypeCode for val1 = "+type1);
        Console.WriteLine("TypeCode for val2 = "+type2);
        Console.WriteLine("Maximum Value = "+ UInt64.MaxValue);
    }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

Value1 = 879879879
Value2 = 464556565
HashCode for value1 = 879879879
HashCode for value2 = 464556565
Are they equal? = False
TypeCode for val1 = UInt64
TypeCode for val2 = UInt64
Maximum Value = 18446744073709551615

この例では、2つのulong型変数のハッシュコード取得、等価比較、TypeCodeの確認を行い、最後にUInt64.MaxValueの値を出力しています。

使用例2:値域チェックへの応用

続いて、UInt64.MinValueおよびUInt64.MaxValueを使って、値が有効な範囲内にあるかどうかを判定する実践的な例を紹介します。

using System;
public class Demo {
    public static void Main(){
        ulong[]val = {8998, 899898778, 878787878};
        ulong res;
        foreach(ulong a in val){
            if(a >= UInt64.MinValue && a <= UInt64.MaxValue){
                res = Convert.ToUInt64(a);
                Console.WriteLine("Converted: "+res);
            } else {
                Console.WriteLine("Not Possible");
            }
        }
    }
}

実行結果

このコードを実行すると、以下の出力が得られます。

Converted: 8998
Converted: 899898778
Converted: 878787878

配列内の各値がUInt64の有効範囲(MinValue以上・MaxValue以下)に収まっているかを判定し、範囲内であればConvert.ToUInt64メソッドで変換して出力しています。

まとめ

  • UInt64.MaxValueは、64ビット符号なし整数の最大値「18,446,744,073,709,551,615」を表す定数です。
  • 対応する最小値はUInt64.MinValue(= 0)です。
  • 値域チェックや境界値の検証など、安全な数値処理に役立ちます。

大きな正の数を扱うシステム開発では、UInt64.MaxValueを活用することで、オーバーフローによる予期しないバグを防ぐことができます。

  1. C#のUInt64.GetTypeCode()メソッドとは?構文と使用例をわかりやすく解説

    C#におけるUInt64.GetTypeCode()メソッドは、値型 UInt64(符号なし64ビット整数)に対応する TypeCode を取得するためのメソッドです。このメソッドを呼び出すことで、変数がどの型に分類されるかをプログラム上で判定できます。構文UInt64.GetTypeCode()メソッドの基本的な構文は以下の通りです。public TypeCode GetTypeCode ();引数は不要で、呼び出し元の ulong 型の値に対する TypeCode(この場合は TypeCode.UInt64)が返されます。使用例1:基本的な使い方まずは、ulong 型の変数に対して Get

  2. C#のUInt16.MaxValueフィールドとは?使い方を例付きで解説

    C#におけるUInt16.MaxValueフィールドは、16ビット符号なし整数(ushort型)が取り得る最大値を表す定数です。値の範囲チェックや変換処理などで頻繁に活用されます。構文UInt16.MaxValueフィールドの構文は以下のとおりです。public const ushort MaxValue = 65535;このように、MaxValueは定数(const)として定義されており、その値は常に65535です。ushort型は0〜65535の範囲の値を扱えるため、最大値が65535となります。使用例1:基本的なプロパティの確認まず、UInt16.MaxValueフィールドを使った基本的