如何使用VB.NET限制BitConverter.GetBytes()返回一定数量的字节?

时间:2012-09-10 03:46:56

标签: vb.net bitconverter

我做:

Dim BytArr() as Byte = BitConverter.GetBytes(1234)

因为默认情况下它们是32位,所以它返回4个字节的元素。

我希望能够控制它只返回两个字节。也许只有三个字节。有没有内置的功能来控制它?

我不想依赖使用转移>> 8 >> 16 >> 24 >> 32等等。

我也不想依赖于将GetBytes()中的数据类型转换为特定的数据类型。

1 个答案:

答案 0 :(得分:2)

GetBytes默认为32位,GetBytes返回保存数据类型所需大小的数组。如果你传递一个Long,那么你将获得数组中的8个元素。

控制它的最佳方法是投射传入的数据。否则你可以截断一些数字。

话虽如此,你可以这样做:

Dim BytArr() as Byte = Array.Resize(BitConverter.GetBytes(1234), 2)

但是如果你传入的值超过了可以存储在2个字节中的值(在这种情况下),那么你将会有一些非常破碎的代码。