2

C# を使用して、シリアル化されたオブジェクトのファイル ベースのキューを実装しています。

  • Push()オブジェクトをバイナリとしてシリアル化し、ファイルの末尾に追加します。
  • Pop()ファイルの先頭からオブジェクトを逆シリアル化する必要があります(この部分は私が作業しました)。次に、逆シリアル化された部分をファイルから削除して、次のオブジェクトを「最初」にする必要があります。

ファイル システムの観点からは、ファイル ヘッダーをディスク上にさらに数バイトコピーしてから、「ファイルの先頭」ポインタを移動することを意味します。問題は、これを C# で実装する方法です。それはまったく可能ですか?

4

2 に答える 2

1

ファイルはそのようには機能しません。端を切り取ることはできますが、最初は切り取ることはできません。最初にファイルを変更してコンテンツを削除するには、ファイル全体を書き直す必要があります。

問題を解決するための別の方法を見つけたいと思うでしょう。しかし、線形ファイルは FIFO キューを表すのにはまったく適していません。

于 2013-04-11T00:20:06.413 に答える