我以为.Net有某种简单的转换方法可以用来将int转换为字节数组?我快速搜索了一下,所有的解决方案都是位屏蔽/一次移位一个字节,比如"好日子". 在某个地方没有ToByteArray()方法吗?

推荐答案

BitConverter相比,现在应该优先考虑2020-BinaryPrimitives的更新.它提供特定于字符顺序的API,并且分配较少.


byte[] bytes = BitConverter.GetBytes(i);

不过也要注意,您might想要判断BitConverter.IsLittleEndian,看看它会出现在哪个方向!

请注意,如果要执行此操作,您可能希望通过自己通过移位操作(>>/<<)或使用unsafe代码来编写来避免所有这些短期数组分配.轮班操作also的优点是不受平台端部的影响;您可以按照预期的顺序获取字节.

.net相关问答推荐

从Couchbase删除_txn文档的推荐方法?""

在 .NET 7 项目上设置 Sentry 时遇到问题

为什么我在环境变量中有不同的值?

IIS 发布 ASP.NET Core 应用程序而不关闭 IIS 网站

.gitignore 和 Visual Studio 项目:忽略 bin/Debug 目录但不忽略 bin/Release 目录

AutoMapper 的替代品

防止对话框在按钮的单击事件处理程序中关闭

(C# 7.2)私有保护修饰符的用例是什么?

C#:内存不足异常

.NET 中工作线程和 I/O 线程的简单描述

为什么 C# 多维数组不实现 IEnumerable

获取 .NET Framework 目录路径

在 C# 中转义命令行参数

找不到 Assert.Fail 和 Assert.Pass 或等效项

所有数组在 C# 中都实现了哪些接口?

如何制作通用类型转换函数

如何禁用 Alt + F4 关闭表单?

为什么会出现编译错误使用未分配的局部变量?

如何在 C# 中处理 XML

具有不同身份验证标头的 HttpClient 单个实例