System.Buffer.GetByte 方法
方法描述
在指定数组中检索指定位置处的字节。
语法定义(C# System.Buffer.GetByte 方法 的用法)
public static byte GetByte( Array array, int index )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
array | System-Array | 一个数组。 |
index | System-Int32 | 数组中的位置。 |
返回值 | System.Byte | 返回数组中的 index 字节。 |
提示和注释
GetByte 方法从数组中获取特定的字节。 数组必须是基元数组。
System.Buffer.GetByte 方法例子
下面的代码示例使用 GetByte 方法显示数组中指定位置处的字节值。
// Example of the Buffer.GetByte method. using System; class GetByteDemo { const string formatter = "{0,10}{1,10}{2,9} {3}"; // 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,5}:", name ); for( int loopX = arr.Length - 1; loopX >= 0; loopX-- ) Console.Write( format, arr.GetValue( loopX ) ); Console.WriteLine( ); } public static void ArrayInfo( Array arr, string name, int index ) { byte value = Buffer.GetByte( arr, index ); // Display the array name, index, and byte to be viewed. Console.WriteLine( formatter, name, index, value, String.Format( "0x{0:X2}", value ) ); } public static void Main( ) { // These are the arrays to be viewed with GetByte. long[ ] longs = { 333333333333333333, 666666666666666666, 999999999999999999 }; int[ ] ints = { 111111111, 222222222, 333333333, 444444444, 555555555 }; Console.WriteLine( "This example of the " + "Buffer.GetByte( Array, int ) \n" + "method generates the following output.\n" + "Note: The arrays are displayed from right to left.\n" ); Console.WriteLine( " Values of arrays:\n" ); // Display the values of the arrays. DisplayArray( longs, "longs" ); DisplayArray( ints, "ints" ); Console.WriteLine( ); Console.WriteLine( formatter, "Array", "index", "value", "" ); Console.WriteLine( formatter, "-----", "-----", "-----", "----" ); // Display the Length and ByteLength for each array. ArrayInfo( ints, "ints", 0 ); ArrayInfo( ints, "ints", 7 ); ArrayInfo( ints, "ints", 10 ); ArrayInfo( ints, "ints", 17 ); ArrayInfo( longs, "longs", 0 ); ArrayInfo( longs, "longs", 6 ); ArrayInfo( longs, "longs", 10 ); ArrayInfo( longs, "longs", 17 ); ArrayInfo( longs, "longs", 21 ); } } /* This example of the Buffer.GetByte( Array, int ) method generates the following output. Note: The arrays are displayed from right to left. Values of arrays: longs: 0DE0B6B3A763FFFF 094079CD1A42AAAA 04A03CE68D215555 ints: 211D1AE3 1A7DAF1C 13DE4355 0D3ED78E 069F6BC7 Array index value ----- ----- ----- ---- ints 0 199 0xC7 ints 7 13 0x0D ints 10 222 0xDE ints 17 26 0x1A longs 0 85 0x55 longs 6 160 0xA0 longs 10 66 0x42 longs 17 255 0xFF longs 21 182 0xB6 */
异常
异常 | 异常描述 |
---|---|
ArgumentException | array 不是基元。 |
ArgumentNullException | array 为 null。 |
ArgumentOutOfRangeException | index 为负或大于 array 的长度。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。