The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
Buffer::SetByte Method (Array^, Int32, Byte)
.NET Framework (current version)
Assigns a specified value to a byte at a particular location in a specified array.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- array
-
Type:
System::Array^
An array.
- index
-
Type:
System::Int32
A location in the array.
- value
-
Type:
System::Byte
A value to assign.
| Exception | Condition |
|---|---|
| ArgumentException | array is not a primitive. |
| ArgumentNullException | array is null. |
| ArgumentOutOfRangeException | index is negative or greater than the length of array. |
| OverflowException | array is larger than 2 gigabytes (GB). |
array must be an array of primitives.
The following code example assigns values to bytes at particular locations within arrays using the SetByte method.
// Example of the Buffer::SetByte method. using namespace System; // Display the array contents in hexadecimal. void DisplayArray( Array^ arr, String^ name ) { // Get the array element width; format the formatting string. int elemWidth = Buffer::ByteLength( arr ) / arr->Length; String^ format = String::Format( " {{0:X{0}}}", 2 * elemWidth ); // Display the array elements from right to left. Console::Write( "{0,7}:", name ); for ( int loopX = arr->Length - 1; loopX >= 0; loopX-- ) Console::Write( format, arr->GetValue( loopX ) ); Console::WriteLine(); } int main() { // These are the arrays to be modified with SetByte. array<Int16>^shorts = gcnew array<Int16>(10); array<Int64>^longs = gcnew array<Int64>(3); Console::WriteLine( "This example of the " "Buffer::SetByte( Array*, int, unsigned char ) \n" "method generates the following output.\n" "Note: The arrays are displayed from right to left.\n" ); Console::WriteLine( " Initial values of arrays:\n" ); // Display the initial values of the arrays. DisplayArray( shorts, "shorts" ); DisplayArray( longs, "longs" ); // Copy two regions of source array to destination array, // and two overlapped copies from source to source. Console::WriteLine( "\n Array values after setting byte 3 = 25, \n" " byte 6 = 64, byte 12 = 121, and byte 17 = 196:\n" ); Buffer::SetByte( shorts, 3, 25 ); Buffer::SetByte( shorts, 6, 64 ); Buffer::SetByte( shorts, 12, 121 ); Buffer::SetByte( shorts, 17, 196 ); Buffer::SetByte( longs, 3, 25 ); Buffer::SetByte( longs, 6, 64 ); Buffer::SetByte( longs, 12, 121 ); Buffer::SetByte( longs, 17, 196 ); // Display the arrays again. DisplayArray( shorts, "shorts" ); DisplayArray( longs, "longs" ); } /* This example of the Buffer::SetByte( Array*, int, unsigned char ) method generates the following output. Note: The arrays are displayed from right to left. Initial values of arrays: shorts: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 longs: 0000000000000000 0000000000000000 0000000000000000 Array values after setting byte 3 = 25, byte 6 = 64, byte 12 = 121, and byte 17 = 196: shorts: 0000 C400 0000 0079 0000 0000 0040 0000 1900 0000 longs: 000000000000C400 0000007900000000 0040000019000000 */
Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Show: