C#的ushort[]转为byte[]
时间: 2024-09-14 21:09:25 浏览: 440
C#预定义类型基础知识
在C#中,将`ushort`数组转换为`byte`数组时,需要考虑每个`ushort`占用两个字节(因为它是16位的),而`byte`是8位的。你可以通过循环逐个将`ushort`转换成两个`byte`并添加到结果数组中。这里有一个简单的示例:
```csharp
// 假设我们有一个ushort数组
ushort[] ushortArray = new ushort[] { 0x0123, 0x4567 };
// 创建一个byte数组来存储结果
byte[] byteArray = new byte[ushortArray.Length * 2];
// 转换过程
for (int i = 0; i < ushortArray.Length; i++)
{
// 将ushort拆分成两部分
byte highByte = (byte)(ushortArray[i] >> 8);
byte lowByte = (byte)ushortArray[i];
// 添加到结果数组
byteArray[i * 2] = highByte;
byteArray[i * 2 + 1] = lowByte;
}
string hexString = BitConverter.ToString(byteArray).Replace("-", "").ToLower(); // 将byte[]转换为十六进制字符串
Console.WriteLine($"Converted array: {hexString}[^1]");
```
阅读全文