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

C#のInt64構造体とは?主なフィールドとメソッドの使い方を解説


Int64構造体は、64ビット符号付き整数を表す値型です。イミュータブル(不変)な型であり、-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 の範囲の符号付き整数値を保持できます。C#では long 型に相当するため、int 型の範囲を超える大きな数値を扱いたい場面で広く利用されています。

Int64の主なフィールド

フィールド説明
MaxValueInt64で表現できる最大の値を表します。このフィールドは定数です。
MinValueInt64で表現できる最小の値を表します。このフィールドは定数です。

Int64の主なメソッド

メソッド説明
CompareTo(Int64)このインスタンスを指定した64ビット符号付き整数と比較し、相対的な大小関係を示す値を返します。
CompareTo(Object)このインスタンスを指定したオブジェクトと比較し、相対的な大小関係を示す値を返します。
Equals(Int64)このインスタンスが指定したInt64値と等しいかどうかを示す値を返します。
Equals(Object)このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。
GetHashCode()このインスタンスのハッシュコードを返します。
GetTypeCode()値型Int64のTypeCodeを返します。
Parse(String)数値の文字列形式を、等価な64ビット符号付き整数に変換します。
Parse(String, IFormatProvider)指定したカルチャ固有の書式で表された数値の文字列形式を、等価な64ビット符号付き整数に変換します。

ここからは、代表的なメソッドの具体的な使い方を、サンプルコードと実行結果とともに見ていきましょう。

Int64.CompareTo()メソッド

C#のInt64.CompareTo()メソッドは、このインスタンスを指定したオブジェクトまたはInt64値と比較し、その相対的な大小関係を示す整数値を返します。

構文

public int CompareTo (long val);
public int CompareTo (object val);

1つ目の構文では、引数valに比較対象となる整数を指定します。2つ目の構文では、引数valに比較対象となるオブジェクトを指定します。

戻り値は、このインスタンスが引数より小さい場合は負の値、等しい場合は0、大きい場合は正の値になります。

例1:long型同士の比較

using System;
public class Demo {
   public static void Main(){
      long val1 = 20;
      long val2 = 18;
      Console.WriteLine("Value 1 = "+val1);
      Console.WriteLine("Value 2 = "+val2);
      Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
   }
}

出力結果

Value 1 = 20
Value 2 = 18
Return value (comparison) = 1

val1(20)の方がval2(18)より大きいため、正の値「1」が返されています。

例2:object型との比較

using System;
public class Demo {
   public static void Main(){
      long val1 = 20;
      object val2 = (long)20;
      Console.WriteLine("Value 1 = "+val1);
      Console.WriteLine("Value 2 = "+val2);
      Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
   }
}

出力結果

Value 1 = 20
Value 2 = 20
Return value (comparison) = 0

両者の値が等しいため、「0」が返されます。

Int64.Equals()メソッド

C#のInt64.Equals()メソッドは、このインスタンスが指定したオブジェクトまたはInt64値と等しいかどうかを判定し、その結果をbool値として返します。

構文

public bool Equals (long ob);
public override bool Equals (object ob);

いずれの構文でも、引数obにはこのインスタンスと比較する対象(Int64値またはオブジェクト)を指定します。

例1:異なる値の比較

using System;
public class Demo {
   public static void Main(){
      long val1 = 150;
      long val2 = 240;
      Console.WriteLine("Value1 = "+val1);
      Console.WriteLine("Value2 = "+val2);
      Console.WriteLine("Are they equal? = "+val1.Equals(val2));
   }
}

出力結果

Value1 = 150
Value2 = 240
Are they equal? = False

例2:同じ値の比較

using System;
public class Demo {
   public static void Main(){
      long val1 = 8768768768;
      long val2 = 8768768768;
      Console.WriteLine("Value1 = "+val1);
      Console.WriteLine("Value2 = "+val2);
      Console.WriteLine("Are they equal? = "+val1.Equals(val2));
   }
}

出力結果

Value1 = 8768768768
Value2 = 8768768768
Are they equal? = True

このように、Int64構造体を使えば64ビット幅の大きな整数を安全に扱えるだけでなく、値の比較や文字列からの変換も標準メソッドで簡単に実装できます。金額やタイムスタンプなど、精度の高い数値処理が必要なアプリケーションでぜひ活用してください。

  1. C#で数値の絶対値を取得・表示する方法(Math.Absメソッドの使い方)

    C#で数値の絶対値を求めるには、Math.Absメソッドを使用します。Math.AbsはSystem.Mathクラスに用意された静的メソッドで、引数に渡した数値から符号を取り除いた値(絶対値)を返します。int型のほか、double型やdecimal型など、さまざまな数値型に対応しているのも特徴です。絶対値を求める基本の手順まず、対象となる数値を設定します。int val1 = 77; int val2 = -88;次に、新しい変数を2つ用意し、それぞれの数値の絶対値をMath.Absメソッドで取得します。int abs1 = Math.Abs(val1); int abs2 = Math.A

  2. C#の列挙型(enum)からint値を取得する方法をわかりやすく解説

    C#では、列挙型(enum)の値を整数値として扱いたい場面がよくあります。例えば、データベースへの保存やAPIとの連携などがその代表例です。そんなときは、明示的なキャスト(型変換)を使うだけで、簡単にint値を取得できます。 手順1:列挙型を定義する まず、次のように列挙型を定義します。 public enum Vehicle { Car, Bus, Truck } 手順2:(int)でキャストしてint値を取得する 列挙型の値をintに変換するには、(int)による明示的なキャストを使用します。 int a = (int)Vehicle.Car; 完全なサンプルコード 以下は、列挙型の