1. ホーム
  2. c#

int-byte配列

2023-10-09 12:02:38

質問

.net には、int をバイト配列に変換するために使用する、何らかの簡単な変換方法があると思ったのですが? 私はクイック検索を行い、すべてのソリューションは、"the good ol days"のように、一度に1バイトずつビットマスキング/シフトしています。 どこかにToByteArray()メソッドはないのでしょうか?

どのように解決するのですか?

2020年のアップデート BinaryPrimitives が優先されるようになりました。 BitConverter . これはエンディアンに特化した API を提供し、割り当てがより少なくなります。


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

ただし を確認したい。 BitConverter.IsLittleEndian をチェックしてみてください。

なお、このような場合 を繰り返し を繰り返す場合、シフト操作 ( >> / << ) を使用するか、または unsafe のようなコードになります。シフト操作 には、プラットフォームのエンディアンに影響されないという利点があります。 は常に バイトを期待通りの順序で取得できます。