この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Int64 構造体

 

公開日: 2016年10月

64 ビット符号付き整数を表します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int64 : IComparable, IFormattable, IConvertible, 
	IComparable<long>, IEquatable<long>

名前説明
System_CAPS_pubmethodCompareTo(Int64)

指定した 64 ビット符号付き整数とこのインスタンスを比較し、これらの相対値を示す値を返します。

System_CAPS_pubmethodCompareTo(Object)

指定したオブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。

System_CAPS_pubmethodEquals(Int64)

対象のインスタンスが、指定した Int64 値に等しいかどうかを示す値を返します。

System_CAPS_pubmethodEquals(Object)

対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。(ValueType.Equals(Object) をオーバーライドします。)

System_CAPS_pubmethodGetHashCode()

このインスタンスのハッシュ コードを返します。(ValueType.GetHashCode() をオーバーライドします。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodGetTypeCode()

TypeCode 値型の Int64 を返します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

数値の文字列形式を、それと等価な 64 ビット符号付き整数に変換します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

指定したカルチャに固有の書式による数値の文字列形式を、それと等価な 64 ビット符号付き整数に変換します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

指定したスタイルの数値の文字列形式を、それと等価の 64 ビット符号付き整数に変換します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価の 64 ビット符号付き整数に変換します。

System_CAPS_pubmethodToString()

このインスタンスの数値を、それと等価な文字列形式に変換します。(ValueType.ToString() をオーバーライドします。)

System_CAPS_pubmethodToString(IFormatProvider)

このインスタンスの数値を、指定したカルチャ固有の書式情報を使用して、それと等価な文字列形式に変換します。

System_CAPS_pubmethodToString(String)

指定した書式を使用して、このインスタンスの数値を、それと等価な文字列形式に変換します。

System_CAPS_pubmethodToString(String, IFormatProvider)

このインスタンスの数値を、指定した書式およびカルチャ固有の書式情報を使用して、それと等価な文字列形式に変換します。

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Int64)

数値の文字列形式を、それと等価な 64 ビット符号付き整数に変換します。 戻り値は、変換が成功したか失敗したかを示します。

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Int64)

指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価の 64 ビット符号付き整数に変換します。 戻り値は、変換が成功したか失敗したかを示します。

名前説明
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Int64 の最大有効値を表します。 このフィールドは定数です。

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Int64 の最小有効値を表します。 このフィールドは定数です。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToBoolean」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToByte」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToChar」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 この変換はサポートされていません。 このメソッドを使用しようとすると、InvalidCastException がスローされます。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToDecimal」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToDouble」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToInt16」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToInt32」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToInt64」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToSByte」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToSingle」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの説明については、「IConvertible.ToType」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToUInt16」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToUInt32」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToUInt64」を参照してください。

System_CAPS_noteメモ

この型の .NET Framework ソース コードを参照してください、 Reference Sourceします。 ソース コードをオンラインで参照、オフライン表示のリファレンスをダウンロードおよびデバッグ中にソース (パッチや更新を含む) をステップsee instructions.

Int64 変更できない値の型を表す符号付き整数 9,223,372,036,854,775,808 負の値の範囲に値 (で表される、 Int64.MinValue 定数) 正 9,223,372,036,854,775,807 を通じて (で表される、 Int64.MaxValue 定数です。 .NET Framework は、64 ビット符号なし整数値の型も含まれています。 UInt64, 、0 から 18,446,744,073,709,551,615 までの値を表します。

インスタンスを作成できる、 Int64 方法はいくつかの値。

  • 宣言することができます、 Int64 変数の範囲内にあるリテラルの整数値を割り当てると、 Int64 データ型。 次の例で 2 つ Int64 変数に、この方法で値を代入しています。

    long number1 = -64301728;
    long number2 = 255486129307;
    
  • 範囲がサブセットである整数型の値を割り当てることができますの Int64 型です。 これは、c# のキャスト演算子または Visual Basic での変換メソッドを必要としない拡大変換です。

    sbyte value1 = 124;
    short value2 = 1618;
    int value3 = Int32.MaxValue;
    
    long number1 = value1;
    long number2 = value2;
    long number3 = value3;
    
  • 範囲を超えています数値型の値を割り当てることができますの Int64 型です。 縮小変換は、このため場合 c# でのキャスト演算子と Visual Basic での変換メソッドが必要に OptionStrict にします。 数値の場合、 Single, 、Double, 、または Decimal を小数部が、その小数部分の処理を含む値は、変換を実行して、コンパイラに依存します。 次の例に、さまざまな数値を割り当てる縮小変換を実行 Int64 変数です。

    ulong ulNumber = 163245617943825;
    try {
       long number1 = (long) ulNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", ulNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       long number2 = (long) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", dbl2);
    }
    
    BigInteger bigNumber = (BigInteger) 1.63201978555e30;
    try {
       long number3 = (long) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", bigNumber);
    }    
    // The example displays the following output:
    //    163245617943825
    //    35902
    //    1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.
    
  • メソッドを呼び出すことができます、 Convert サポートする型のいずれかに変換するクラス、 Int64 値。 これは、可能なため Int64 をサポートしています、 IConvertible インターフェイスです。 次の例は、配列の変換を示しています。 DecimalInt64 値。

    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    long result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt64(value);
          Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                            value.GetType().Name, value,
                            result.GetType().Name, result);
       }
       catch (OverflowException) {
          Console.WriteLine("{0} is outside the range of the Int64 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int64 type.
    //    Converted the Decimal value '-1034.23' to the Int64 value -1034.
    //    Converted the Decimal value '-12' to the Int64 value -12.
    //    Converted the Decimal value '0' to the Int64 value 0.
    //    Converted the Decimal value '147' to the Int64 value 147.
    //    Converted the Decimal value '199.55' to the Int64 value 200.
    //    Converted the Decimal value '9214.16' to the Int64 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int64 type.
    
  • 呼び出すことができます、 Parse または TryParse の文字列形式に変換するメソッド、 Int64 値を Int64です。 文字列は、10 進数または 16 進数の数字を含めることができます。 次の例では、10 進数と 16 進数文字列の両方を使用して、解析操作を示しています。

    string string1 = "244681903147";
    try {
       long number1 = Int64.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3CFF0A";
    try {
       long number2 = Int64.Parse(string2,
                                  System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //    244681903147
    //    67012198154
    

Int64 型は、加算、減算、除算、乗算、否定、単項否定演算子などの標準的な数学的な操作をサポートしています。 などの他の整数型、 Int64 型もサポートしている、ビットごと AND, 、OR, 、XOR, 、shift キー、および右シフト演算子のままです。

標準の数値演算子を使用するには 2 つを比較する Int64 を呼び出すの値か、 CompareTo または Equals メソッドです。

メンバーを呼び出すこともできます、 Math をさまざまな数値の絶対値を取得する、商と整数の除算の剰余を計算する、2 つの長整数の最大値または最小値を決定する、数値の符号の取得、および数値を丸めるなどの数値演算を実行するクラス。

Int64 型が標準とカスタムの数値書式指定文字列に完全にサポートを提供します。 (詳細については、次を参照してください .NET Framework における型の書式設定, 、標準の数値書式指定文字列, 、および カスタム数値書式指定文字列。)。

書式設定、 Int64 値先行ゼロなしで整数を文字列として、パラメーターなし呼び出せる ToString() メソッドです。 "D"書式指定子を使用すると、指定された数の文字列形式には先行ゼロも含めることができます。 "N"書式指定子を使用するは、桁区切り記号を含めるし、数値の文字列形式で表示する小数点以下桁数を指定します。 "X"書式指定子を使用すると、表すことができます、 Int64 16 進数文字列値。 次の例の配列内の要素を書式設定 Int64 これら 4 つの方法の値。

long[] numbers = { -1403, 0, 169, 1483104 };
foreach (var number in numbers) {
   // Display value using default formatting.
   Console.Write("{0,-8}  -->   ", number.ToString());
   // Display value with 3 digits and leading zeros.
   Console.Write("{0,8:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,18:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,18:X8}", number);
}   
// The example displays the following output:
//    -1403     -->      -1403     -1,403.0  FFFFFFFFFFFFFA85  FFFFFFFFFFFFFA85
//    0         -->        000          0.0                00          00000000
//    169       -->        169        169.0                A9          000000A9
//    1483104   -->    1483104  1,483,104.0            16A160          0016A160

フォーマットすることも、 Int64 8 進数、バイナリ形式で値の 10 進数または 16 進数の文字列を呼び出すことによって、 ToString(Int64, Int32) メソッドとメソッドの 2 番目のパラメーターとして情報を指定することです。 次の例では、このバイナリ、8 進数を表示するメソッドと整数値の配列の 16 進数表記を呼び出します。

long[] numbers = { -146, 11043, 2781913 };
foreach (var number in numbers) {
   Console.WriteLine("{0} (Base 10):", number);
   Console.WriteLine("   Binary:  {0}", Convert.ToString(number, 2));
   Console.WriteLine("   Octal:   {0}", Convert.ToString(number, 8));
   Console.WriteLine("   Hex:     {0}\n", Convert.ToString(number, 16));
}
// The example displays the following output:
//    -146 (Base 10):
//       Binary:  1111111111111111111111111111111111111111111111111111111101101110
//       Octal:   1777777777777777777556
//       Hex:     ffffffffffffff6e
//
//    11043 (Base 10):
//       Binary:  10101100100011
//       Octal:   25443
//       Hex:     2b23
//
//    2781913 (Base 10):
//       Binary:  1010100111001011011001
//       Octal:   12471331
//       Hex:     2a72d9

10 進数値として個々 の長整数を使用するだけでなく、長整数値でビットごとの演算を実行するか、長整数値のバイナリまたは 16 進数の形式を使用することができます。 Int64 値は、60 4 ビットを符号ビットとして使用される 63 ビット単位で表されます。 正の値は、符号および絶対値による表現を使用して表されます。 負の値は、2 の補数表現でです。 これは重要でビットごとの演算を実行する場合に留意する Int64 値または個別のビットを操作する際にします。 数値型、ブール値、または 2 つの非の 10 進値の比較演算を実行するのには、両方の値が同じ形式を使用する必要があります。

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能

この種類のすべてのメンバーでは、スレッド セーフです。 インスタンスの状態を変更する表示されるメンバーは、実際に新しい値で初期化された新しいインスタンスを返します。 として、他の種類と読み取りと書き込みをこの型のインスタンスを含む共有変数を保護する必要があるスレッド セーフを確保するロックによってです。

System_CAPS_caution注意

この型のインスタンスを割り当てることはないスレッドすべてのハードウェア プラットフォームに安全にそのインスタンスのバイナリ表現が大きすぎて単一のアトミック操作で、割り当てる可能性があるためです。

トップに戻る
表示: