byte []をHashtableのArrayListに変換する方法は?
質問
byte []をC#でHashtablesのArrayListに変換する方法の例を教えてください。 (byte []は、以前にシリアル化されたハッシュテーブルのArrayListを表します)
注:Windows Mobileで実行していますが、BinaryFormatterは提供していません。
解決
また、ArrayListはデータベースAPIによってbyte []
に自動的に変換されます
率直に言って、このデータを再構築するチャンスを得るために使用される実際のシリアル化APIを見つけるために持っているつもりです。おそらくBinaryFormatter
で、これは移植性がなく、バージョンに違反していることで有名です。
データをバイナリとして保存する必要があり 、それを長期(データベース)およびプラットフォーム間(CF)で使用する場合、適切なシリアライザーを使用する必要があります。たとえば、 protobuf-net は、プリンシパルで機能します(ただし、型指定されていないArrayList
は好みませんが、型付きList<T>
などを優先します)。
データが現在 として<=>として保存されている場合、最善の策は、現在のシステムを使用してデータを抽出し、(おそらく別の列またはテーブルに)再パッケージすることですより適切なシリアル化形式。
他のヒント
<!> quot;以前にシリアル化された<!> quot; <!> quot; BinaryFormatter
<!> quotでシリアル化されているということですか?もしそうなら、いいえ-あなたも<=>をデシリアライズする必要があります。 Compact Frameworkがそれをサポートしていない場合、基本的に運が悪いです。つまり、シリアル化形式がどこかで文書化されている場合(そうであるかどうかはわかりません)、独自の<=>を書くことができます-しかし、おそらく少し注意が必要です。
代わりに、シリアル化/逆シリアル化する必要があるすべての場所でサポートされているシリアル化形式を選択する必要があります。