System.BitConverter.ToInt32 方法

方法描述

返回由字节数组中指定位置的四个字节转换来的 32 位有符号整数。

语法定义(C# System.BitConverter.ToInt32 方法 的用法)

public static int ToInt32(
	byte[] value,
	int startIndex
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-Byte[] 字节数组。
startIndex System-Int32 value 内的起始位置。
返回值 System.Int32 由四个字节构成、从 startIndex 开始的 32 位有符号整数。

提示和注释

System.BitConverter.ToInt32 方法例子

下面的代码示例使用 ToInt32 方法将 Byte 数组的元素转换为 Int32 值。

// Example of the BitConverter.ToInt32 method.
using System;

class BytesToInt32Demo
{
    const string formatter = "{0,5}{1,17}{2,15}";

    // Convert four byte array elements to an int and display it.
    public static void BAToInt32( byte[ ] bytes, int index )
    {
        int value = BitConverter.ToInt32( bytes, index );

        Console.WriteLine( formatter, index, 
            BitConverter.ToString( bytes, index, 4 ), value );
    }

    // Display a byte array, using multiple lines if necessary.
    public static void WriteMultiLineByteArray( byte[ ] bytes )
    {
        const int rowSize = 20;
        int iter;

        Console.WriteLine( "initial byte array" );
        Console.WriteLine( "------------------" );

        for( iter = 0; iter < bytes.Length - rowSize; iter += rowSize )
        {
            Console.Write( 
                BitConverter.ToString( bytes, iter, rowSize ) );
            Console.WriteLine( "-" );
        }

        Console.WriteLine( BitConverter.ToString( bytes, iter ) );
        Console.WriteLine( );
    }

    public static void Main( )
    {
        byte[ ] byteArray = {
             15,   0,   0,   0,   0, 128,   0,   0,  16,   0, 
              0, 240, 255,   0, 202, 154,  59,   0,  54, 101, 
            196, 241, 255, 255, 255, 127 };

        Console.WriteLine( 
            "This example of the BitConverter.ToInt32( byte[ ], " +
            "int ) \nmethod generates the following output. It " +
            "converts elements \nof a byte array to int values.\n" );

        WriteMultiLineByteArray( byteArray );

        Console.WriteLine( formatter, "index", "array elements", 
            "int" );
        Console.WriteLine( formatter, "-----", "--------------", 
            "---" );

        // Convert byte array elements to int values.
        BAToInt32( byteArray, 1 );
        BAToInt32( byteArray, 0 );
        BAToInt32( byteArray, 21 );
        BAToInt32( byteArray, 6 );
        BAToInt32( byteArray, 9 );
        BAToInt32( byteArray, 13 );
        BAToInt32( byteArray, 17 );
        BAToInt32( byteArray, 22 );
        BAToInt32( byteArray, 2 );
    }
}

/*
This example of the BitConverter.ToInt32( byte[ ], int )
method generates the following output. It converts elements
of a byte array to int values.

initial byte array
------------------
0F-00-00-00-00-80-00-00-10-00-00-F0-FF-00-CA-9A-3B-00-36-65-
C4-F1-FF-FF-FF-7F

index   array elements            int
-----   --------------            ---
    1      00-00-00-00              0
    0      0F-00-00-00             15
   21      F1-FF-FF-FF            -15
    6      00-00-10-00        1048576
    9      00-00-F0-FF       -1048576
   13      00-CA-9A-3B     1000000000
   17      00-36-65-C4    -1000000000
   22      FF-FF-FF-7F     2147483647
    2      00-00-00-80    -2147483648
*/

异常

异常 异常描述
ArgumentException startIndex 大于等于 value 减 3 的长度,且小于等于 value 减 1 的长度。
ArgumentNullException value 为 null。
ArgumentOutOfRangeException startIndex 小于零或大于 value 减 1 的长度。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。