Buffer.ByteLength(Array) Method

Definition

Returns the number of bytes in the specified array.

public:
 static int ByteLength(Array ^ array);
public static int ByteLength (Array array);
static member ByteLength : Array -> int
Public Shared Function ByteLength (array As Array) As Integer

Parameters

array
Array

An array.

Returns

The number of bytes in the array.

Exceptions

array is null.

array is not a primitive.

array is larger than 2 gigabytes (GB).

Examples

The following code example illustrates the use of the ByteLength method to return the number of bytes in an array.

// Example of the Buffer::ByteLength method.
using namespace System;

void ArrayInfo( Array^ arr, String^ name )
{
   int byteLength = Buffer::ByteLength( arr );
   
   // Display the array name, type, Length, and ByteLength.
   Console::WriteLine( "{0,10}{1,20}{2,9}{3,12}", name, arr->GetType(), arr->Length, byteLength );
}

int main()
{
   array<unsigned char>^bytes = {1,2,3,4,5,6,7,8,9,0};
   array<bool>^bools = {true,false,true,false,true};
   array<Char>^chars = {' ','$','\"','A','{'};
   array<short>^shorts = {258,259,260,261,262,263};
   array<float>^singles = {1,678,2.37E33F,.00415F,8.9F};
   array<double>^doubles = {2E-22,.003,4.4E44,555E55};
   array<long>^longs = {1,10,100,1000,10000,100000};
   Console::WriteLine( "This example of the Buffer::ByteLength( Array* ) "
   "\nmethod generates the following output.\n" );
   Console::WriteLine( "{0,10}{1,20}{2,9}{3,12}", "Array name", "Array type", "Length", "ByteLength" );
   Console::WriteLine( "{0,10}{1,20}{2,9}{3,12}", "----------", "----------", "------", "----------" );
   
   // Display the Length and ByteLength for each array.
   ArrayInfo( bytes, "bytes" );
   ArrayInfo( bools, "bools" );
   ArrayInfo( chars, "chars" );
   ArrayInfo( shorts, "shorts" );
   ArrayInfo( singles, "singles" );
   ArrayInfo( doubles, "doubles" );
   ArrayInfo( longs, "longs" );
}

/*
This example of the Buffer::ByteLength( Array* )
method generates the following output.

Array name          Array type   Length  ByteLength
----------          ----------   ------  ----------
     bytes       System.Byte[]       10          10
     bools    System.Boolean[]        5           5
     chars       System.Char[]        5          10
    shorts      System.Int16[]        6          12
   singles     System.Single[]        5          20
   doubles     System.Double[]        4          32
     longs      System.Int32[]        6          24
*/
// Example of the Buffer.ByteLength method.
using System;

class ByteLengthDemo
{
    const string formatter = "{0,10}{1,20}{2,9}{3,12}";

    public static void ArrayInfo( Array arr, string name )
    {
        int byteLength = Buffer.ByteLength( arr );

        // Display the array name, type, Length, and ByteLength.
        Console.WriteLine( formatter, name, arr.GetType( ),
            arr.Length, byteLength );
    }

    public static void Main( )
    {
        byte[ ]   bytes   = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
        bool[ ]   bools   = { true, false, true, false, true };
        char[ ]   chars   = { ' ', '$', '\"', 'A', '{' };
        short[ ]  shorts  = { 258, 259, 260, 261, 262, 263 };
        float[ ]  singles = { 1, 678, 2.37E33F, .00415F, 8.9F };
        double[ ] doubles = { 2E-22, .003, 4.4E44, 555E55 };
        long[ ]   longs   = { 1, 10, 100, 1000, 10000, 100000 };

        Console.WriteLine(
            "This example of the Buffer.ByteLength( Array ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "Array name", "Array type",
            "Length", "ByteLength" );
        Console.WriteLine( formatter, "----------", "----------",
            "------", "----------" );

        // Display the Length and ByteLength for each array.
        ArrayInfo( bytes, "bytes" );
        ArrayInfo( bools, "bools" );
        ArrayInfo( chars, "chars" );
        ArrayInfo( shorts, "shorts" );
        ArrayInfo( singles, "singles" );
        ArrayInfo( doubles, "doubles" );
        ArrayInfo( longs, "longs" );
    }
}

/*
This example of the Buffer.ByteLength( Array )
method generates the following output.

Array name          Array type   Length  ByteLength
----------          ----------   ------  ----------
     bytes       System.Byte[]       10          10
     bools    System.Boolean[]        5           5
     chars       System.Char[]        5          10
    shorts      System.Int16[]        6          12
   singles     System.Single[]        5          20
   doubles     System.Double[]        4          32
     longs      System.Int64[]        6          48
*/
open System

let print obj1 obj2 obj3 obj4 = 
    printfn $"{obj1,10}{obj2,20}{obj3,9}{obj4,12}"

let arrayInfo (arr: Array) name =
    let byteLength = Buffer.ByteLength arr

    // Display the array name, type, Length, and ByteLength.
    print name (arr.GetType()) arr.Length byteLength

let bytes = [| 1uy; 2uy; 3uy; 4uy; 5uy; 6uy; 7uy; 8uy; 9uy; 0uy |]
let bools = [| true; false; true; false; true |]
let chars = [| ' '; '$'; '\"'; 'A'; '{' |]
let shorts = [| 258s; 259s; 260s; 261s; 262s; 263s |]
let singles = [| 1f; 678f; 2.37E33f; 0.00415f; 8.9f |]
let doubles = [| 2E-22; 0.003; 4.4E44; 555E55 |]
let longs = [| 1L; 10L; 100L; 1000L; 10000L; 100000L |]

printfn "This example of the Buffer.ByteLength(Array) \nmethod generates the following output.\n"
print "Array name" "Array type" "Length" "ByteLength"
print "----------" "----------" "------" "----------"

// Display the Length and ByteLength for each array.
arrayInfo bytes "bytes" 
arrayInfo bools "bools" 
arrayInfo chars "chars" 
arrayInfo shorts "shorts" 
arrayInfo singles "singles" 
arrayInfo doubles "doubles" 
arrayInfo longs "longs" 


// This example of the Buffer.ByteLength(Array)
// method generates the following output.
//
// Array name          Array type   Length  ByteLength
// ----------          ----------   ------  ----------
//      bytes       System.Byte[]       10          10
//      bools    System.Boolean[]        5           5
//      chars       System.Char[]        5          10
//     shorts      System.Int16[]        6          12
//    singles     System.Single[]        5          20
//    doubles     System.Double[]        4          32
//      longs      System.Int64[]        6          48
' Example of the Buffer.ByteLength method.
Module ByteLengthDemo

    Const formatter As String = "{0,10}{1,20}{2,9}{3,12}"

    Sub ArrayInfo( arr As Array, name As String )

        Dim byteLength As Integer = Buffer.ByteLength( arr )

        ' Display the array name, type, Length, and ByteLength.
        Console.WriteLine( formatter, name, arr.GetType, arr.Length, _
            byteLength )
    End Sub

    Sub Main( )
        Dim bytes( )   As Byte    = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }
        Dim bools( )   As Boolean = { True, False, True, False, True }
        Dim chars( )   As Char    = { " "c, "$"c, """"c, "A"c, "{"c }
        Dim shorts( )  As Short   = { 258, 259, 260, 261, 262, 263 }
        Dim singles( ) As Single  = { 1, 678, 2.37E33, .00415, 8.9 }
        Dim doubles( ) As Double  = { 2E-22, .003, 4.4E44, 555E55 }
        Dim longs( )   As Long    = { 1, 10, 100, 1000, 10000, 100000 }

        Console.WriteLine( _
            "This example of the Buffer.ByteLength( Array ) " & _
            vbCrLf & "method generates the following output." & vbCrLf )
        Console.WriteLine( formatter, "Array name", "Array type", _
            "Length", "ByteLength" )
        Console.WriteLine( formatter, "----------", "----------", _
            "------", "----------" )

        ' Display the Length and ByteLength for each array.
        ArrayInfo( bytes, "bytes" )
        ArrayInfo( bools, "bools" )
        ArrayInfo( chars, "chars" )
        ArrayInfo( shorts, "shorts" )
        ArrayInfo( singles, "singles" )
        ArrayInfo( doubles, "doubles" )
        ArrayInfo( longs, "longs" )
    End Sub 
End Module 

' This example of the Buffer.ByteLength( Array )
' method generates the following output.
' 
' Array name          Array type   Length  ByteLength
' ----------          ----------   ------  ----------
'      bytes       System.Byte[]       10          10
'      bools    System.Boolean[]        5           5
'      chars       System.Char[]        5          10
'     shorts      System.Int16[]        6          12
'    singles     System.Single[]        5          20
'    doubles     System.Double[]        4          32
'      longs      System.Int64[]        6          48

Applies to