質問

Windows MobileでC#を使用してbyte []をArrayListに変換する方法を教えてもらえますか?

後の編集:

  1. これは、カスタムタイプのインスタンスを含むArrayListのようになります。このリストは、バイト配列としてデータベースに(blobに)送られます(データベースAPIによって変換が行われます)。私が欲しいのは、byte []をArrayListに戻すことです。

  2. .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に変換できませんか? コンパクトフォーマッタ

をご覧ください。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top