は、例えば:intをサイズ3のバイト配列に変換するには?私はこれが最後のバイトを落とす意味サイズ3のバイト配列にint型に変換する必要が
var temp = BitConverter.GetBytes(myNum).Take(3).ToArray());
はしかし、行うには良い方法はありますか?おそらく、カスタム構造体を作成することによって?この要件については
EDIT
私は、この新しいデータ型の16777215の事前に定義された最大値を持っています。あなたは(引用された最大値のみに基づいて)3バイトの符号なし整数を表す新しいstruct
を作成するように、このような
C#の 'int'のすべての値を3バイトにエンコードすることはできませんので、どちらかの方法で8ビットを失う必要があります"最後のバイト"を削除することは、すべてのビットが代替として良いと思われるか、ビットを落とさないようにする方法があるかどうかを尋ねる "より良い方法"について質問しましたか?代替ソリューションが「最後のバイトを削除する」よりも優れているか悪いのかを判断する方法を明確にしてください。 –
何よりもやっている方がいいですか?私はコードを見ていないし、あなたが達成しようとしていることの説明を見ないので、それを実装する最良の方法が何であるかを伝えることは全く不可能です。 – Esko
これは事実上[彼らの以前のもの](http://stackoverflow.com/q/39891887/73070)へのフォローアップの質問です。 – Joey