ahm*_*md0 4 c# byte bytearray uint32
这可能是一个简单的,但我似乎找不到一个简单的方法来做到这一点.我需要将84个uint的数组保存到SQL数据库的BINARY字段中.所以我在C#ASP.NET项目中使用以下几行:
//This is what I have
uint[] uintArray;
//I need to convert from uint[] to byte[]
byte[] byteArray = ???
cmd.Parameters.Add("@myBindaryData", SqlDbType.Binary).Value = byteArray;
Run Code Online (Sandbox Code Playgroud)
那么如何从uint []转换为byte []?
Mat*_*att 10
怎么样:
byte[] byteArray = uintArray.SelectMany(BitConverter.GetBytes).ToArray();
Run Code Online (Sandbox Code Playgroud)
这将以小端格式做你想做的事......
您可以使用 System.Buffer.BlockCopy 来做到这一点:
byte[] byteArray = new byte[uintArray.Length * 4];
Buffer.BlockCopy(uintArray, 0, byteArray, 0, uintArray.Length * 4];
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/system.buffer.blockcopy.aspx
这将比使用 for 循环或一些类似的构造更有效。它直接将字节从第一个数组复制到第二个数组。
要转换回来,只需反向执行相同的操作。
| 归档时间: |
|
| 查看次数: |
7689 次 |
| 最近记录: |