BitConverter.ToInt16 方法

定义

重载

ToInt16(Byte[], Int32)

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

ToInt16(ReadOnlySpan<Byte>)

将只读字节范围转换为 16 位带符号整数。

ToInt16(Byte[], Int32)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

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

public static short ToInt16(byte[] value, int startIndex);

参数

value
Byte[]

包含要转换的两个字节的字节数组。

startIndex
Int32

value 内的起始位置。

返回

由两个字节构成、从 startIndex 开始的 16 位有符号整数。

例外

startIndex 等于 value 减 1 的长度。

valuenull

startIndex 小于零或大于 value 减 1 的长度。

示例

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

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

class BytesToInt16Demo
{
    const string formatter = "{0,5}{1,17}{2,10}";

    // Convert two byte array elements to a short and display it.
    public static void BAToInt16( byte[ ] bytes, int index )
    {
        short value = BitConverter.ToInt16( bytes, index );

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

    public static void Main( )
    {
        byte[ ] byteArray =
            { 15, 0, 0, 128, 16, 39, 240, 216, 241, 255, 127 };

        Console.WriteLine(
            "This example of the BitConverter.ToInt16( byte[ ], " +
            "int ) \nmethod generates the following output. It " +
            "converts elements \nof a byte array to short values.\n" );
        Console.WriteLine( "initial byte array" );
        Console.WriteLine( "------------------" );
        Console.WriteLine( BitConverter.ToString( byteArray ) );
        Console.WriteLine( );
        Console.WriteLine( formatter, "index", "array elements", "short" );
        Console.WriteLine( formatter, "-----", "--------------", "-----" );

        // Convert byte array elements to short values.
        BAToInt16( byteArray, 1 );
        BAToInt16( byteArray, 0 );
        BAToInt16( byteArray, 8 );
        BAToInt16( byteArray, 4 );
        BAToInt16( byteArray, 6 );
        BAToInt16( byteArray, 9 );
        BAToInt16( byteArray, 2 );
    }
}

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

initial byte array
------------------
0F-00-00-80-10-27-F0-D8-F1-FF-7F

index   array elements     short
-----   --------------     -----
    1            00-00         0
    0            0F-00        15
    8            F1-FF       -15
    4            10-27     10000
    6            F0-D8    -10000
    9            FF-7F     32767
    2            00-80    -32768
*/

注解

方法 ToInt16 将字节从索引 startIndex 转换为 startIndex + 1 的值 Int16 。 数组中的字节顺序必须反映计算机系统体系结构的字节数。 有关详细信息,请参阅类主题的 BitConverter “备注”部分。

另请参阅

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt16(ReadOnlySpan<Byte>)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

将只读字节范围转换为 16 位带符号整数。

public static short ToInt16(ReadOnlySpan<byte> value);

参数

value
ReadOnlySpan<Byte>

包含要转换的字节的只读范围。

返回

表示已转换字节的 16 位带符号整数。

例外

value 的长度小于 2。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1