android set数组,Buffer.SetByte(Array, Int32, Byte) 方法 (System) | Microsoft Docs

将指定的值分配给指定数组中特定位置处的字节。Assigns a specified value to a byte at a particular location in a specified array.

public:

static void SetByte(Array ^ array, int index, System::Byte value);

public static void SetByte (Array array, int index, byte value);

static member SetByte : Array * int * byte -> unit

Public Shared Sub SetByte (array As Array, index As Integer, value As Byte)

参数

array

一个数组。An array.

index

数组中的位置。A location in the array.

value

要分配的值。A value to assign.

例外

array 不是基元。array is not a primitive.

array 为 null。array is null.

index 为负或大于 array 的长度。index is negative or greater than the length of array.

array大于 2 GB。array is larger than 2 gigabytes (GB).

示例

下面的代码示例使用方法将值分配给数组中特定位置处的字节 SetByte 。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^shorts = gcnew array(10);

array^longs = gcnew array(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

*/// Example of the Buffer.SetByte method.

using System;

class SetByteDemo

{

// Display the array contents in hexadecimal.

public static 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( );

}

public static void Main( )

{

// These are the arrays to be modified with SetByte.

short[ ] shorts = new short[ 10 ];

long[ ] longs = new long[ 3 ];

Console.WriteLine( "This example of the " +

"Buffer.SetByte( Array, int, byte ) \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, byte )

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

*/' Example of the Buffer.SetByte method.

Module SetByteDemo

' Display the array contents in hexadecimal.

Sub DisplayArray( arr As Array, name As String )

' Get the array element width; format the formatting string.

Dim loopX As Integer

Dim elemWidth As Integer = _

Buffer.ByteLength( arr ) / arr.Length

Dim format As String = _

String.Format( " {{0:X{0}}}", 2 * elemWidth )

' Display the array elements from right to left.

Console.Write( "{0,7}:", name )

For loopX = arr.Length - 1 to 0 Step -1

Console.Write( format, arr( loopX ) )

Next loopX

Console.WriteLine( )

End Sub

Sub Main( )

' These are the arrays to be modified with SetByte.

' This allocates 10 elements for shorts and 3 elements

' for longs in Visual Basic.

Dim shorts( 9 ) As Short

Dim longs( 2 ) As Long

Console.WriteLine( "This example of the " & _

"Buffer.SetByte( Array, Integer, Byte ) " & vbCrLf & _

"method generates the following output." & vbCrLf & _

"Note: The arrays are displayed from right to left." & _

vbCrLf )

Console.WriteLine( " Initial values of arrays:" & vbCrLf )

' 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( vbCrLf & _

" Array values after setting byte 3 = 25, " & vbCrLf & _

" byte 6 = 64, byte 12 = 121, and byte 17 = 196:" & vbCrLf )

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" )

End Sub

End Module

' This example of the Buffer.SetByte( Array, Integer, Byte )

' 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

注解

array 必须是基元数组。array must be an array of primitives.

适用于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值