C#整数数组转换成字节数组有哪些方法
时间: 2023-08-01 20:15:06 浏览: 167
C#将数字转换成字节数组的方法
在C#中,将整数数组转换为字节数组有以下几种方法:
1. 使用BitConverter类的GetBytes方法:
```csharp
int[] intArray = { 1, 2, 3 };
byte[] byteArray = new byte[intArray.Length * sizeof(int)];
Buffer.BlockCopy(intArray, 0, byteArray, 0, byteArray.Length);
```
2. 使用BitConvert.GetBytes方法:
```csharp
int[] intArray = { 1, 2, 3 };
byte[] byteArray = new byte[intArray.Length * sizeof(int)];
for (int i = 0; i < intArray.Length; i++)
{
byte[] tempArray = BitConverter.GetBytes(intArray[i]);
Array.Copy(tempArray, 0, byteArray, i * sizeof(int), sizeof(int));
}
```
3. 使用MemoryMarshal.TryWrite方法:
```csharp
int[] intArray = { 1, 2, 3 };
byte[] byteArray = new byte[intArray.Length * sizeof(int)];
for (int i = 0; i < intArray.Length; i++)
{
MemoryMarshal.TryWrite(byteArray.AsSpan(i * sizeof(int)), ref intArray[i]);
}
```
其中,第一种方法使用了Buffer.BlockCopy方法,可以将整个int数组转换为字节数组,而后两种方法需要遍历整个数组并将每个int值转换为字节数组。第三种方法使用了MemoryMarshal.TryWrite方法,这是C# 7.2中新增的方法,用于将值类型写入内存中。
阅读全文