1

ファイルとの間でクラスオブジェクトを読み書きしようとしています。
私はDを初めて使用するので、少しだけ遊んでみたいと思います。

ファイルとの間でオブジェクトを読み書きするためのクラス/関数はありますか?Java
のクラスに似たものを探しています。ObjectOutputStream

または、オブジェクトの変数をファイル内の文字列としてシリアル化(連結)する必要がありますか?

Movieクラスと、MovieManager動的なムービー配列を含むクラスがあります。

オブジェクトには、いくつかのMovie文字列と整数値が含まれています。

4

2 に答える 2

2

コメントで提供されている答えを拡張すると、Dはファイルとの間でオブジェクトを読み書きする「1つの真の方法」を提供しないことを明示的に述べる価値があります。最適なものは1つではないからです。速度、結果のファイル形式、参照の処理、および同様のコーナーケースに関するさまざまな考慮事項により、さまざまなシリアル化戦略が生じる可能性があります。

そうは言っても、おそらく適切なシリアル化ライブラリが必要であり、幸運なことに、最も成熟したDソリューションの1つ(Jacob Carlborgによる「オレンジ」 https://github.com/jacob-carlborg/orange)が現在レビューされています。 std.serializationニュースグループスレッドとして標準ライブラリに含める候補として。それはあなたの最善の策かもしれません。

于 2013-03-27T10:02:24.957 に答える
1

Unmanagedライブラリは、シリアル化システムを提供します。アンマネージシリアル化は、シリアル化するオブジェクトがフレームワーク基本クラスの1つの祖先である場合にのみ機能するため、制限の少ないOrangeもあり ます。しかし...アンマネージは「アクセサー」の原則に基づいて機能します。シリアル化されたデータはメソッドを介して取得され、逆シリアル化されたデータはメソッドを介して設定されます。これにより、たとえば、デシリアライザーがリコールしたときにいくつかのものを更新できます...

于 2013-03-27T18:02:48.443 に答える