エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

Int32 構造体

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

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

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

Int32 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompareTo(Int32)指定した 32 ビット符号付き整数とこのインスタンスを比較し、これらの相対値を示す値を返します。
パブリック メソッドXNA Framework によるサポートCompareTo(Object)指定したオブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(Int32)このインスタンスが、指定した Int32 値に等しいかどうかを示す値を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(Object)対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (ValueType.Equals(Object) をオーバーライドします。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetHashCode対象のインスタンスのハッシュ コードを返します。 (ValueType.GetHashCode() をオーバーライドします。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポートGetTypeCode Int32 値型の TypeCode を返します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETParse(String)数値の文字列形式を、それと等価な 32 ビット符号付き整数に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETParse(String, NumberStyles)指定したスタイルの数値の文字列形式を、それと等価の 32 ビット符号付き整数に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETParse(String, IFormatProvider)指定したカルチャに固有の書式による数値の文字列形式を、それと等価な 32 ビット符号付き整数に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETParse(String, NumberStyles, IFormatProvider)指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価の 32 ビット符号付き整数に変換します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString()このインスタンスの数値を、それと等価な文字列形式に変換します。 (ValueType.ToString() をオーバーライドします。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString(IFormatProvider)このインスタンスの数値を、指定したカルチャ固有の書式情報を使用して、それと等価な文字列形式に変換します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString(String)指定した書式を使用して、このインスタンスの数値を、それと等価な文字列形式に変換します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString(String, IFormatProvider)このインスタンスの数値を、指定した書式およびカルチャ固有の書式情報を使用して、それと等価な文字列形式に変換します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTryParse(String, Int32)数値の文字列形式を、それと等価な 32 ビット符号付き整数に変換します。 戻り値は、変換が成功したかどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTryParse(String, NumberStyles, IFormatProvider, Int32)指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価の 32 ビット符号付き整数に変換します。 戻り値は、変換が成功したかどうかを示します。
このページのトップへ

  名前説明
パブリック フィールド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETMaxValue Int32 の最大有効値を表します。 このフィールドは定数です。
パブリック フィールド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETMinValue Int32 の最小有効値を表します。 このフィールドは定数です。
このページのトップへ

  名前説明
明示的なインターフェイス実装プライベート メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIComparable.CompareTo現在のインスタンスを同じ型の別のオブジェクトと比較し、現在のインスタンスの並べ替え順序での位置が、比較対象のオブジェクトと比べて前か、後か、または同じかを示す整数を返します。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToBooleanインフラストラクチャ。このメンバーの説明については、IConvertible.ToBoolean のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToByteインフラストラクチャ。このメンバーの説明については、IConvertible.ToByte のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToCharインフラストラクチャ。このメンバーの説明については、IConvertible.ToChar のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDateTimeインフラストラクチャ。この変換はサポートされていません。 このメソッドを使用しようとすると、InvalidCastException がスローされます。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDecimalインフラストラクチャ。このメンバーの説明については、IConvertible.ToDecimal のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDoubleインフラストラクチャ。このメンバーの説明については、IConvertible.ToDouble のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt16インフラストラクチャ。このメンバーの説明については、IConvertible.ToInt16 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt32インフラストラクチャ。このメンバーの説明については、IConvertible.ToInt32 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt64インフラストラクチャ。このメンバーの説明については、IConvertible.ToInt64 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToSByteインフラストラクチャ。このメンバーの説明については、IConvertible.ToSByte のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToSingleインフラストラクチャ。このメンバーの説明については、IConvertible.ToSingle のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToTypeインフラストラクチャ。このメンバーの説明については、IConvertible.ToType のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt16インフラストラクチャ。このメンバーの説明については、IConvertible.ToUInt16 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt32インフラストラクチャ。このメンバーの説明については、IConvertible.ToUInt32 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt64インフラストラクチャ。このメンバーの説明については、IConvertible.ToUInt64 のトピックを参照してください。
このページのトップへ

Int32 は、符号付き整数を表す不変の値型です。その整数値の範囲は、-2,147,483,648 (定数 Int32.MinValue で表される) ~ +2,147,483,647 (定数 Int32.MaxValue で表される) です。 .NET Framework には、0 ~ +4,294,967,295 の範囲の値を表す符号なし 32 ビットの整数値型 UInt32 も含まれています。

Int32 値のインスタンス化

Int32 値のインスタンスを作成するには、いくつかの方法があります。

  • Int32 変数を宣言し、それに、Int32 データ型の範囲内にあるリテラル整数の値を割り当てることができます。 次の使用例は、2 つの Int32 変数を宣言し、それらに、この方法で値を割り当てます。

    
    int number1 = 64301;
    int number2 = 25548612;
    
    
    
  • Int32 型のサブセットが範囲である整数型の値を割り当てることができます。 これは拡大変換であり、キャスト演算子 (C# の場合) も変換メソッド (Visual Basic の場合) も必要ではありません。

    
    sbyte value1 = 124;
    short value2 = 1618;
    
    int number1 = value1;
    int number2 = value2;
    
    
    
  • Int32 型の範囲を超える範囲の数値型の値を割り当てることができます。 これは縮小変換であるため、OptionStrictがオンの場合は、キャスト演算子 (C# の場合) および変換メソッド (Visual Basic の場合) が必要になります。 数値が SingleDouble、または小数部を含む Decimal 値の場合は、その小数部の処理が、変換を実行するコンパイラによって異なります。 次の例では、縮小変換を実行して、いくつかの数値を Int32 変数に代入しています。

    
    long lNumber = 163245617;
    try {
       int number1 = (int) lNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", lNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       int number2 = (int) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", dbl2);
    }
    
    BigInteger bigNumber = 132451;
    try {
       int number3 = (int) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", bigNumber);
    }    
    // The example displays the following output:
    //       163245617
    //       35902
    //       132451
    
    
    
  • Convert クラスのメソッドを呼び出して、サポートされる任意の型を Int32 値に変換できます。 これは、Int32IConvertible インターフェイスをサポートしているため、可能です。 Decimal 値の配列の、Int32 値への変換を次の例に示します。

    
    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    int result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt32(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 Int32 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int32 type.
    //    Converted the Decimal value '-1034.23' to the Int32 value -1034.
    //    Converted the Decimal value '-12' to the Int32 value -12.
    //    Converted the Decimal value '0' to the Int32 value 0.
    //    Converted the Decimal value '147' to the Int32 value 147.
    //    Converted the Decimal value '199.55' to the Int32 value 200.
    //    Converted the Decimal value '9214.16' to the Int32 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int32 type.
    
    
    
  • Parse または TryParse メソッドを呼び出して、文字列で表現された Int32Int32 に変換できます。 文字列には、10 進数または 16 進数の数字を含めることができます。 次の例は、10 進数と 16 進数の文字列の両方を使用して、解析操作を示しています。

    
    string string1 = "244681";
    try {
       int number1 = Int32.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3C";
    try {
       int number2 = Int32.Parse(string2,
                                System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //       244681
    //       1022524
    
    
    

Int32 値に対する処理の実行

加算、減算、乗算、除算拒否および単項などの Int32 型のサポートの標準数値演算。 他の整数型と同様に、Int32 型も、ビットごとの AND 演算、OR 演算、XOR 演算、左シフト演算、右シフト演算をサポートしています。

標準の数値演算子を使用して 2 つの Int32 値を比較するか、CompareTo メソッドまたは Equals メソッドを呼び出すことができます。

、数値の絶対値を取得し、商と余りを整数の除算から計算し、最大または最小値は 2 個の整数を確認し、数値の符号を取得し、その値を丸めることを含むすべての数値演算を実行するために Math クラスのメンバーを呼び出すことができます。

文字列としての Int32 の表記

Int32 型では、標準およびカスタムの数値書式指定文字列が完全にサポートされます。(詳細については、「型の書式設定」、「標準の数値書式指定文字列」、および「カスタム数値書式指定文字列」を参照してください。)

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


int[] numbers = { -1403, 0, 169, 1483104 };
foreach (int 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,11:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,12:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,14:X8}", number);
}   
// The example displays the following output:
//    -1403     -->         -1403     -1,403.0    FFFFFA85      FFFFFA85
//    0         -->           000          0.0          00      00000000
//    169       -->           169        169.0          A9      000000A9
//    1483104   -->       1483104  1,483,104.0      16A160      0016A160


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


int[] numbers = { -146, 11043, 2781913 };
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                  "Value", "Binary", "Octal", "Hex");
foreach (int number in numbers) {
   Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                     number, Convert.ToString(number, 2), 
                     Convert.ToString(number, 8), 
                     Convert.ToString(number, 16));
}      
// The example displays the following output:
//       Value                             Binary         Octal          Hex
//        -146   11111111111111111111111101101110   37777777556     ffffff6e
//       11043                     10101100100011         25443         2b23
//     2781913             1010100111001011011001      12471331       2a72d9


非 10 進数の 32 ビット整数型の値の操作

個々の整数を 10 進値として処理するだけでなく、整数値でのビットごとの演算、整数値のバイナリ表記または 16 進表記の処理を実行できます。 Int32 値は 31 ビットで表され、32 ビット目は符号ビットとして使用されます。 正の値は、符号および絶対値による表記を使用して表されます。 負の値は、2 の補数で表記されます。 これは、Int32 値のビットごとの演算を実行する場合や、個々のビットを操作する場合に注意が必要な重要事項です。 数値、ブール型 (Boolean) の値、または 2 つの非 10 進値の比較操作を実行するには、両方の値の表記が同じである必要があります。

.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

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

コミュニティの追加

追加
表示:
© 2014 Microsoft