GetBytes,参数为sbyte类型

本文关键字:sbyte 类型 参数 GetBytes | 更新日期: 2023-09-27 18:03:01

为什么GetBytes返回两个元素的数组而不是一个元素的数组,尽管sbyte的存储只占用1个字节

byte[] byteArray = BitConverter.GetBytes((sbyte)127)

GetBytes,参数为sbyte类型

GetBytes没有接受sbyte的过载,因此您的sbyte被隐式转换为short,并且您调用GetBytes(short),返回两个字节。

您应该简单地将sbyte转换为unchecked转换的byte

sbyte s = 127;
byte[] byteArray = new[] { (byte)s };