Buffer.ByteLength(Array) Method  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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 -> intPublic Shared Function ByteLength (array As Array) As IntegerParameters
- 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 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