如何在C#中将int转换为两个字节?

xar*_*rzu 8 c# int byte

如何在C#中将int转换为两个字节?

Mar*_*ell 13

假设你只想要低字节:

byte b0 = (byte)i,
     b1 = (byte)(i>>8);
Run Code Online (Sandbox Code Playgroud)

但是,因为'int'是'Int32',所以剩下2个字节未被捕获.

  • @Joshua,我做了一个快速的基准测试(发布版本,50000000次迭代,秒表和完整测试重复两次以删除各种工件),创建数组和使用位掩码与调用BitConverter之间的区别大约是每次调用1ns在我的机器上.如果删除数组创建(只获取两个字节),差异大约为14ns. (5认同)
  • @Joshua - 这不是Mono的问题 - 它是不同的 - 字节序.转换方法完全支持这一步(我假设Mono评论的目标是BitConverter,而不是转换?) (2认同)