そうです:
Dim BytArr() as Byte = BitConverter.GetBytes(1234)
デフォルトでは 32 ビットであるため、4 バイト要素を返します。
2バイトのように返すように制御できるようにしたい。たぶん3バイトだけ。それを制御するための組み込み関数はありますか?
shift などの使用に依存したくありません>> 8 >> 16 >> 24 >> 32。
また、GetBytes() 内のデータを特定のデータ型にキャストする型に依存したくありません。
そうです:
Dim BytArr() as Byte = BitConverter.GetBytes(1234)
デフォルトでは 32 ビットであるため、4 バイト要素を返します。
2バイトのように返すように制御できるようにしたい。たぶん3バイトだけ。それを制御するための組み込み関数はありますか?
shift などの使用に依存したくありません>> 8 >> 16 >> 24 >> 32。
また、GetBytes() 内のデータを特定のデータ型にキャストする型に依存したくありません。
GetBytesデフォルトが 32 ビットであるということではなくGetBytes、データ型を保持するために必要なサイズの配列を返すということです。Long を渡すと、配列に 8 つの要素が含まれます。
これを制御する最善の方法は、実際に渡すデータをキャストすることです。そうしないと、数値の一部が切り捨てられる可能性があります。
そうは言っても、次のようなことができます。
Dim BytArr() as Byte = Array.Resize(BitConverter.GetBytes(1234), 2)
しかし、渡した値が 2 バイトで格納できる量を超えた場合 (この場合)、非常に壊れたコードがいくつか作成されます。