2012-01-27 15 views
1

私はC#/ XNAを使用してWindows Phoneゲームを構築しています。ゲームでは、IsolatedStorageからデータを読み取る必要があります。このために、IsolatedStorageFileStreamを作成してから、Read関数を呼び出します。 msdn documentationIsolatedStorageFileStream.Readための状態は次のバイト、SByte、CHAR、Int16型、のInt32、Int64の、:IsolatedStorageから整数の配列に直接読み込むにはどうすればよいですか?

バッファパラメータは、バッファクラスのインスタンス、または次のいずれかのタイプのアレイとすることができますUInt16、UInt32、UInt64、Single、またはDouble。

ただし、Read関数のオーバーロードは1つだけあり、整数またはその他の型ではなく、バイト配列をとります。簡単な回避策は、データをバイトブロックに読み込んで、ループ内でthe BitConverter.ToInt32 functionを使用して、必要なデータを取得することです。しかし、可能であれば、余分な中間メモリを費やすことなく、整数のブロックをファイルから直接整数の配列に読み込むことができるようにしたいと考えています。何か案は?

+0

はまた、私も好奇心MSDNのドキュメントにはそれがあると主張している理由'IsolatedStorageFileStream.Read'関数を使って整数の配列を読み取ることは可能ですが、明らかにそうではありません。 – sushovande

答えて

0

Streamsを使用して、独立したストレージを操作できます。隔離されたストレージへのアクセスはずっと簡単です。この方法では、バイトとバッファによる低レベルのアクセスを避けることができます。

良いスタート:分離ストレージ(およびWindows Phone 7の開発)について
http://create.msdn.com/en-US/education/quickstarts/Isolated_Storage

いくつかの本当に良い記事:
http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage--intro-to-isolated-storage

+0

投稿した2番目のリンクから、私は[BinaryReader](http://msdn.microsoft.com/en-us/library/a4b8basy(v = v1.9 \).aspx)を ' IsolatedStorageFileStream'オブジェクトを含む。 [BinaryReader.ReadInt32](http://msdn.microsoft.com/en-us/library/system.io.binaryreader.readint32(v = v1.95 \).aspx)関数は今は十分ですが、 1つ1つずつ読み込むのではなく、整数の配列全体を読み込む方法がありました。 – sushovande

関連する問題