BitConverter.ToUInt16 方法

定义

重载

ToUInt16(ReadOnlySpan<Byte>)

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

ToUInt16(Byte[], Int32)

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

ToUInt16(ReadOnlySpan<Byte>)

重要

此 API 不符合 CLS。

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

public:
 static System::UInt16 ToUInt16(ReadOnlySpan<System::Byte> value);
[System.CLSCompliant(false)]
public static ushort ToUInt16 (ReadOnlySpan<byte> value);
[<System.CLSCompliant(false)>]
static member ToUInt16 : ReadOnlySpan<byte> -> uint16
Public Shared Function ToUInt16 (value As ReadOnlySpan(Of Byte)) As UShort

参数

value
ReadOnlySpan<Byte>

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

返回

UInt16

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

属性

例外

value 的长度小于 2。

适用于

ToUInt16(Byte[], Int32)

重要

此 API 不符合 CLS。

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

public:
 static System::UInt16 ToUInt16(cli::array <System::Byte> ^ value, int startIndex);
[System.CLSCompliant(false)]
public static ushort ToUInt16 (byte[] value, int startIndex);
[<System.CLSCompliant(false)>]
static member ToUInt16 : byte[] * int -> uint16
Public Shared Function ToUInt16 (value As Byte(), startIndex As Integer) As UShort

参数

value
Byte[]

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

startIndex
Int32

value 内的起始位置。

返回

UInt16

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

属性

例外

startIndex 等于 value 减 1 的长度。

valuenull

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

示例

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

// Example of the BitConverter::ToUInt16 method.
using namespace System;

// Convert two byte array elements to an unsigned short and display it.
void BAToUInt16( array<unsigned char>^bytes, int index )
{
   unsigned short value = BitConverter::ToUInt16( bytes, index );
   Console::WriteLine( "{0,5}{1,17}{2,16}", index, BitConverter::ToString( bytes, index, 2 ), value );
}

int main()
{
   array<unsigned char>^byteArray = {15,0,0,255,3,16,39,255,255,127};
   Console::WriteLine( "This example of the BitConverter::ToUInt16( unsigned "
   "char[ ], int ) \nmethod generates the following output. It "
   "converts elements of a \nbyte array to unsigned short "
   "values.\n" );
   Console::WriteLine( "initial byte array" );
   Console::WriteLine( "------------------" );
   Console::WriteLine( BitConverter::ToString( byteArray ) );
   Console::WriteLine();
   Console::WriteLine( "{0,5}{1,17}{2,16}", "index", "array elements", "unsigned short" );
   Console::WriteLine( "{0,5}{1,17}{2,16}", "-----", "--------------", "--------------" );
   
   // Convert byte array elements to unsigned short values.
   BAToUInt16( byteArray, 1 );
   BAToUInt16( byteArray, 0 );
   BAToUInt16( byteArray, 3 );
   BAToUInt16( byteArray, 5 );
   BAToUInt16( byteArray, 8 );
   BAToUInt16( byteArray, 7 );
}

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

initial byte array
------------------
0F-00-00-FF-03-10-27-FF-FF-7F

index   array elements  unsigned short
-----   --------------  --------------
    1            00-00               0
    0            0F-00              15
    3            FF-03            1023
    5            10-27           10000
    8            FF-7F           32767
    7            FF-FF           65535
*/
// Example of the BitConverter.ToUInt16 method.
using System;

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

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

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

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

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

        // Convert byte array elements to ushort values.
        BAToUInt16( byteArray, 1 );
        BAToUInt16( byteArray, 0 );
        BAToUInt16( byteArray, 3 );
        BAToUInt16( byteArray, 5 );
        BAToUInt16( byteArray, 8 );
        BAToUInt16( byteArray, 7 );
    }
}

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

initial byte array
------------------
0F-00-00-FF-03-10-27-FF-FF-7F

index   array elements    ushort
-----   --------------    ------
    1            00-00         0
    0            0F-00        15
    3            FF-03      1023
    5            10-27     10000
    8            FF-7F     32767
    7            FF-FF     65535
*/
open System

let print obj1 obj2 obj3 = printfn $"{obj1,5}{obj2,17}{obj3,10}"

// Convert two byte array elements to a ushort and display it.
let BAToUInt16 bytes index =
    let value = BitConverter.ToUInt16(bytes, index)

    print index (BitConverter.ToString(bytes, index, 2)) value

let byteArray =
    [| 15uy; 0uy; 0uy; 255uy; 3uy; 16uy; 39uy; 255uy; 255uy; 127uy |]

printfn "This example of the BitConverter.ToUInt16(byte [], int) \nmethod generates the following output. It converts elements \nof a byte array to ushort values.\n"
printfn "initial byte array"
printfn "------------------"
printfn $"{BitConverter.ToString byteArray}\n"
print "index" "array elements" "ushort"
print "-----" "--------------" "------"

// Convert byte array elements to ushort values.
BAToUInt16 byteArray 1
BAToUInt16 byteArray 0
BAToUInt16 byteArray 3
BAToUInt16 byteArray 5
BAToUInt16 byteArray 8
BAToUInt16 byteArray 7


// This example of the BitConverter.ToUInt16(byte [], int)
// method generates the following output. It converts elements
// of a byte array to ushort values.
//
// initial byte array
// ------------------
// 0F-00-00-FF-03-10-27-FF-FF-7F
//
// index   array elements    ushort
// -----   --------------    ------
//     1            00-00         0
//     0            0F-00        15
//     3            FF-03      1023
//     5            10-27     10000
//     8            FF-7F     32767
//     7            FF-FF     65535
' Example of the BitConverter.ToUInt16 method.
Module BytesToUInt16Demo

    Const formatter As String = "{0,5}{1,17}{2,10}"
 
    ' Convert two Byte array elements to a UInt16 and display it.
    Sub BAToUInt16( bytes( ) As Byte, index As Integer )

        Dim value As UInt16 = BitConverter.ToUInt16( bytes, index )

        Console.WriteLine( formatter, index, _
            BitConverter.ToString( bytes, index, 2 ), value )
    End Sub 
       
    Sub Main( )

        Dim byteArray as Byte( ) = { _
             15, 0, 0, 255, 3, 16, 39, 255, 255, 127 }

        Console.WriteLine( _
            "This example of the BitConverter.ToUInt16( Byte( ), " & _
            "Integer ) " & vbCrLf & "method generates the " & _
            "following output. It converts elements " & vbCrLf & _
            "of a Byte array to UInt16 values." & vbCrLf )
        Console.WriteLine( "initial Byte array" )
        Console.WriteLine( "------------------" )
        Console.WriteLine( BitConverter.ToString( byteArray ) )
        Console.WriteLine( )
        Console.WriteLine( formatter, "index", "array elements", _
            "UInt16" )
        Console.WriteLine( formatter, "-----", "--------------", _
            "------" )
          
        ' Convert Byte array elements to UInt16 values.
        BAToUInt16( byteArray, 1 )
        BAToUInt16( byteArray, 0 )
        BAToUInt16( byteArray, 3 )
        BAToUInt16( byteArray, 5 )
        BAToUInt16( byteArray, 8 )
        BAToUInt16( byteArray, 7 )
    End Sub 
End Module

' This example of the BitConverter.ToUInt16( Byte( ), Integer )
' method generates the following output. It converts elements
' of a Byte array to UInt16 values.
' 
' initial Byte array
' ------------------
' 0F-00-00-FF-03-10-27-FF-FF-7F
' 
' index   array elements    UInt16
' -----   --------------    ------
'     1            00-00         0
'     0            0F-00        15
'     3            FF-03      1023
'     5            10-27     10000
'     8            FF-7F     32767
'     7            FF-FF     65535

注解

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

另请参阅

适用于