Assembly : mscorlib (dans mscorlib.dll)
Syntaxe<ComVisibleAttribute(True)> _ Public NotInheritable Class Buffer
Il est possible d'accéder aux membres d'une classe statique directement sans une instance de la classe.
[ComVisibleAttribute(true)] public static class Buffer
[ComVisibleAttribute(true)] public ref class Buffer abstract sealed
/** @attribute ComVisibleAttribute(true) */ public final class Buffer
ComVisibleAttribute(true) public final class Buffer
NotesBuffer affecte uniquement les tableaux de types primitifs. Cette classe ne s'applique pas aux objets. Chaque type primitif est considéré comme une série d'octets, indépendamment de tout comportement ou limitation associé au type primitif.
Buffer fournit des méthodes permettant de copier des octets d'un tableau de types primitifs vers un autre, d'obtenir un octet à partir d'un tableau, de définir un octet dans un tableau et d'obtenir la longueur d'un tableau. Lorsqu'il s'agit de la manipulation de types primitifs, cette classe offre de meilleures performances que les méthodes similaires de la classe System.Array.
Buffer s'applique aux types primitifs suivants : Boolean, Char, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Single et Double.
ExempleL'exemple de code suivant illustre l'utilisation de plusieurs méthodes de la classe Buffer.
' Example of the Buffer class methods. Imports System Imports Microsoft.VisualBasic Module BufferClassDemo ' Display the array elements from right to left in hexadecimal. Sub DisplayArray( arr( ) As Short ) Console.Write( " arr:" ) Dim loopX As Integer For loopX = arr.Length - 1 To 0 Step -1 Console.Write( " {0:X4}", arr( loopX ) ) Next loopX Console.WriteLine( ) End Sub Sub Main( ) ' This array is to be modified and displayed. Dim arr( ) As Short = { 258, 259, 260, 261, 262, 263, 264, _ 265, 266, 267, 268, 269, 270, 271 } Console.WriteLine( _ "This example of the Buffer class methods generates " & _ "the following output." & vbCrLf & "Note: The " & _ "array is displayed from right to left." & vbCrLf ) Console.WriteLine( "Initial values of array:" & vbCrLf ) ' Display the initial array values and ByteLength. DisplayArray( arr ) Console.WriteLine( vbCrLf & _ "Buffer.ByteLength( arr ): {0}", _ Buffer.ByteLength( arr ) ) ' Copy a region of the array; set a byte within the array. Console.WriteLine( vbCrLf & _ "Call these methods: " & vbCrLf & _ " Buffer.BlockCopy( arr, 5, arr, 16, 9 )," & vbCrLf & _ " Buffer.SetByte( arr, 7, 170 )." & vbCrLf ) Buffer.BlockCopy( arr, 5, arr, 16, 9 ) Buffer.SetByte( arr, 7, 170 ) ' Display the array and a byte within the array. Console.WriteLine( "Final values of array:" & vbCrLf ) DisplayArray( arr ) Console.WriteLine( vbCrLf & _ "Buffer.GetByte( arr, 26 ): {0}", _ Buffer.GetByte( arr, 26 ) ) End Sub End Module ' This example of the Buffer class methods generates the following output. ' Note: The array is displayed from right to left. ' ' Initial values of array: ' ' arr: 010F 010E 010D 010C 010B 010A 0109 0108 0107 0106 0105 0104 0103 0102 ' ' Buffer.ByteLength( arr ): 28 ' ' Call these methods: ' Buffer.BlockCopy( arr, 5, arr, 16, 9 ), ' Buffer.SetByte( arr, 7, 170 ). ' ' Final values of array: ' ' arr: 010F 0101 0801 0701 0601 0501 0109 0108 0107 0106 AA05 0104 0103 0102 ' ' Buffer.GetByte( arr, 26 ): 15
// Example of the Buffer class methods. using System; class BufferClassDemo { // Display the array elements from right to left in hexadecimal. public static void DisplayArray( short[ ] arr ) { Console.Write( " arr:" ); for( int loopX = arr.Length - 1; loopX >= 0; loopX-- ) Console.Write( " {0:X4}", arr[ loopX ] ); Console.WriteLine( ); } public static void Main( ) { // This array is to be modified and displayed. short[ ] arr = { 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271 }; Console.WriteLine( "This example of the Buffer class " + "methods generates the following output.\n" + "Note: The array is displayed from right to left.\n" ); Console.WriteLine( "Initial values of array:\n" ); // Display the initial array values and ByteLength. DisplayArray( arr ); Console.WriteLine( "\nBuffer.ByteLength( arr ): {0}", Buffer.ByteLength( arr ) ); // Copy a region of the array; set a byte within the array. Console.WriteLine( "\nCall these methods: \n" + " Buffer.BlockCopy( arr, 5, arr, 16, 9 ),\n" + " Buffer.SetByte( arr, 7, 170 ).\n" ); Buffer.BlockCopy( arr, 5, arr, 16, 9 ); Buffer.SetByte( arr, 7, 170 ); // Display the array and a byte within the array. Console.WriteLine( "Final values of array:\n" ); DisplayArray( arr ); Console.WriteLine( "\nBuffer.GetByte( arr, 26 ): {0}", Buffer.GetByte( arr, 26 ) ); } } /* This example of the Buffer class methods generates the following output. Note: The array is displayed from right to left. Initial values of array: arr: 010F 010E 010D 010C 010B 010A 0109 0108 0107 0106 0105 0104 0103 0102 Buffer.ByteLength( arr ): 28 Call these methods: Buffer.BlockCopy( arr, 5, arr, 16, 9 ), Buffer.SetByte( arr, 7, 170 ). Final values of array: arr: 010F 0101 0801 0701 0601 0501 0109 0108 0107 0106 AA05 0104 0103 0102 Buffer.GetByte( arr, 26 ): 15 */
// Example of the Buffer class methods. using namespace System; // Display the array elements from right to left in hexadecimal. void DisplayArray( array<short>^arr ) { Console::Write( " arr:" ); for ( int loopX = arr->Length - 1; loopX >= 0; loopX-- ) Console::Write( " {0:X4}", arr[ loopX ] ); Console::WriteLine(); } int main() { // This array is to be modified and displayed. array<short>^arr = {258,259,260,261,262,263,264,265,266,267,268,269,270,271}; Console::WriteLine( "This example of the Buffer class " "methods generates the following output.\n" "Note: The array is displayed from right to left.\n" ); Console::WriteLine( "Initial values of array:\n" ); // Display the initial array values and ByteLength. DisplayArray( arr ); Console::WriteLine( "\nBuffer::ByteLength( arr ): {0}", Buffer::ByteLength( arr ) ); // Copy a region of the array; set a byte within the array. Console::WriteLine( "\nCall these methods: \n" " Buffer::BlockCopy( arr, 5, arr, 16, 9 ),\n" " Buffer::SetByte( arr, 7, 170 ).\n" ); Buffer::BlockCopy( arr, 5, arr, 16, 9 ); Buffer::SetByte( arr, 7, 170 ); // Display the array and a byte within the array. Console::WriteLine( "Final values of array:\n" ); DisplayArray( arr ); Console::WriteLine( "\nBuffer::GetByte( arr, 26 ): {0}", Buffer::GetByte( arr, 26 ) ); } /* This example of the Buffer class methods generates the following output. Note: The array is displayed from right to left. Initial values of array: arr: 010F 010E 010D 010C 010B 010A 0109 0108 0107 0106 0105 0104 0103 0102 Buffer::ByteLength( arr ): 28 Call these methods: Buffer::BlockCopy( arr, 5, arr, 16, 9 ), Buffer::SetByte( arr, 7, 170 ). Final values of array: arr: 010F 0101 0801 0701 0601 0501 0109 0108 0107 0106 AA05 0104 0103 0102 Buffer::GetByte( arr, 26 ): 15 */
// Example of the Buffer class methods. import System.*; class BufferClassDemo { // Display the array elements from right to left in hexadecimal. public static void DisplayArray(short arr[]) { Console.Write(" arr:"); for (int loopX = arr.get_Length() - 1; loopX >= 0; loopX--) { Console.Write(" {0:X4}", arr.get_Item(loopX)); } Console.WriteLine(); } //DisplayArray public static void main(String[] args) { // This array is to be modified and displayed. short arr[] = { 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271 }; Console.WriteLine(("This example of the Buffer class " + "methods generates the following output.\n" + "Note: The array is displayed from right to left.\n")); Console.WriteLine("Initial values of array:\n"); // Display the initial array values and ByteLength. DisplayArray(arr); Console.WriteLine("\nBuffer.ByteLength( arr ): {0}", (Int32)Buffer.ByteLength(arr)); // Copy a region of the array; set a byte within the array. Console.WriteLine(("\nCall these methods: \n" + " Buffer.BlockCopy( arr, 5, arr, 16, 9 ),\n" + " Buffer.SetByte( arr, 7, 170 ).\n")); Buffer.BlockCopy(arr, 5, arr, 16, 9); Buffer.SetByte(arr, 7, (ubyte)(170)); // Display the array and a byte within the array. Console.WriteLine("Final values of array:\n"); DisplayArray(arr); Console.WriteLine("\nBuffer.GetByte( arr, 26 ): {0}", System.Convert.ToString(Buffer.GetByte(arr, 26))); } //main } //BufferClassDemo /* This example of the Buffer class methods generates the following output. Note: The array is displayed from right to left. Initial values of array: arr: 010F 010E 010D 010C 010B 010A 0109 0108 0107 0106 0105 0104 0103 0102 Buffer.ByteLength( arr ): 28 Call these methods: Buffer.BlockCopy( arr, 5, arr, 16, 9 ), Buffer.SetByte( arr, 7, 170 ). Final values of array: arr: 010F 0101 0801 0701 0601 0501 0109 0108 0107 0106 AA05 0104 0103 0102 Buffer.GetByte( arr, 26 ): 15 */
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ