【IT专家】在C#中将字节数组转换为短数组

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

在C#中将字节数组转换为短数组

2009/07/09 28406 I’m currently reading a file and wanted to be able to convert the array of bytes obtained from the file into a short array.

我正在读取一个文件,并希望能够将从文件中获取的字节数组转换为一个短数

组。

How would I go about doing this?

我该怎么做呢?

15

One possibility is using Enumerable.Select:

一种可能是使用Enumerable.Select:

byte[] bytes;var shorts = bytes.Select(b = (short)b).ToArray(); Another is to use Array.ConvertAll:

另一种是使用Array.ConvertAll:

byte[] bytes;var shorts = Array.ConvertAll(bytes, b = (short)b); 49

Use Buffer.BlockCopy.

使用Buffer.BlockCopy。

Create the short array at half the size of the byte array, and copy the byte data in:

以字节数组大小的一半创建短数组,并将字节数据复制到:

short[] sdata = new short[(int)Math.Ceiling(data.Length / 2)];Buffer.BlockCopy(data, 0, sdata, 0, data.Length); It is the fastest method by far.

这是迄今为止最快的方法。

2

A shorthard is a compound of two bytes. If you are writing all the shorts to the file as true shorts then those conversions are wrong. You must use two bytes to get the true short

value, using something like:

shorthard 是两个字节的复合。如果你把所有短片都写成真正的短片,那么这些转

相关文档
最新文档