byte [] to ArrayList?
-
07-07-2019 - |
質問
Windows MobileでC#を使用してbyte []をArrayListに変換する方法を教えてもらえますか?
後の編集:
-
これは、カスタムタイプのインスタンスを含むArrayListのようになります。このリストは、バイト配列としてデータベースに(blobに)送られます(データベースAPIによって変換が行われます)。私が欲しいのは、byte []をArrayListに戻すことです。
-
.NET CFはBinaryFormatterを提供しません;
解決
すべての配列はICollectionを継承するため、使用することができます
ArrayList list = new ArrayList(bytearray);
汎用のリスト<!> lt; byte <!> gt;を使用しますが同じ方法を使用して、配列内の各バイト値のボックス化を防止します。配列はそれぞれの型の汎用IListを静的に継承しませんが、CLRは実行時に各配列インスタンスに関連する実装を追加します(重要な注意事項こちら)
他のヒント
これだけはできませんか?
ArrayList list = new ArrayList(byteArray);
ArrayListは型指定されていないため、互換性のためにのみ使用してください。
リストを使用することをお勧めします<!> lt; byte <!> gt;:
var list = new List<byte>(byteArray);
編集:データベースAPIが変換を行う場合、逆シリアル化する方法を提供すべきではありませんか? Reflectorを使用して、変換方法を確認してください。
CFはBinaryFormatter
をサポートしていないようです。そのバイナリデータを送信しているコンポーネントを制御していますか?そのコンポーネントでデータをXMLに変換できませんか? コンパクトフォーマッタ
所属していません StackOverflow