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

C#のInt16.MinValueフィールドとは?使い方とサンプルコードを解説

C#におけるInt16.MinValueフィールドは、Int16型(short型)が表現できる最小値を表す定数です。この記事では、Int16.MinValueの構文と実際のコード例を使った使い方について詳しく解説します。

Int16.MinValueの構文

Int16.MinValueフィールドは、以下のように宣言されています。

public const short MinValue = -32768;

Int16型は16ビットの符号付き整数であり、表現できる値の範囲は -32768 ~ 32767 です。そのため、MinValueは常に -32768 を返します。

例1:Int16.MinValueとInt16.MaxValueの基本的な使い方

まずは、Int16.MinValueフィールドを使用する基本的な例を見てみましょう。このサンプルでは、short型変数のハッシュコードやTypeCodeに加えて、Int16型の最大値・最小値を出力しています。

using System;
public class Demo {
    public static void Main(){
        short val1 = 23;
        short val2 = 0;
        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 = "+ Int16.MaxValue);
        Console.WriteLine("Minimum Value = "+ Int16.MinValue);
    }
}

出力結果

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

Value1 = 23
Value2 = 0
HashCode for value1 = 1507351
HashCode for value2 = 0
Are they equal? = False
TypeCode for val1 = Int16
TypeCode for val2 = Int16
Maximum Value = 32767
Minimum Value = -32768

例2:値がInt16の範囲内かどうかを判定して変換する

次に、より実践的な例として、long型の配列に格納された各値がInt16型の範囲(MinValue~MaxValue)に収まっているかどうかを判定し、範囲内であればConvert.ToInt16メソッドを使って変換するコードを紹介します。

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

出力結果

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

Converted: 8998
Not Possible
Not Possible
Converted: -20

まとめ

Int16.MinValueフィールドは、Int16型が取りうる最小値「-32768」を表す定数です。数値をshort型に変換する前に、対象の値がInt16.MinValue以上かつInt16.MaxValue以下であることを確認することで、オーバーフローエラーを防ぎ、安全なデータ変換を行うことができます。範囲外の値に対しては適切なエラーハンドリングを実装することをおすすめします。

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

    C#におけるUInt32.MaxValueフィールドは、32ビット符号なし整数(uint型)が取り得る最大値を表す定数です。その値は「4294967295」であり、範囲チェックやデータ型変換など、さまざまな場面で活用できます。この記事では、UInt32.MaxValueの構文と具体的な使用例をわかりやすく紹介します。構文UInt32.MaxValueフィールドの構文は以下のとおりです。public const uint MaxValue = 4294967295;例1:UInt32.MaxValueの基本的な使い方まずは、uint型の変数に対してハッシュコードの取得、等価比較、TypeCode

  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フィールドを使った基本的