0

(Books クラスは、このコードの外で定義されています。) したがって、このファイルから本を読み込もうとすると、この 1 本しか取得できません。そして、新しいものを追加するたびに、古いものは上書きされます。そのため、自動的に上書きされるため、myLibraryBooks リストに新しい本を追加できません。

Books book = new Books();

Console.Write("Enter Author Name:");
book.Author = Console.ReadLine();

Console.Write("Enter Book Title:");
book.Title = Console.ReadLine();

Console.Write("Enter Book ISBN:");
book.ISBN = Console.ReadLine();

Console.Write("Enter the Publish Date:");
book.Publish_Date = Console.ReadLine();

myLibraryBooks.Add(new Books() { Author = book.Author.ToUpper(), Title = book.Title.ToUpper(), ISBN = book.ISBN, Publish_Date = book.Publish_Date.ToUpper() });
Console.WriteLine("Book added Successfully");
sw.Write(book.Author, FILE_PATH);
sw.Write("\r\n", FILE_PATH);
sw.Write(book.Title.ToUpper(), FILE_PATH);
sw.Write("\r\n", FILE_PATH);
sw.Write(book.ISBN.ToUpper(), FILE_PATH);
sw.Write("\r\n", FILE_PATH);
sw.Write(book.Publish_Date.ToUpper(), FILE_PATH);
sw.Write("\r\n", FILE_PATH);
sw.WriteLine(book.Author, FILE_PATH);
sw.Close();
4

1 に答える 1

3

色々と想像はつきますが、回答をお願いしたいと思います。

StreamWriter の場合sw(宣言されている場所がわかりません)、次のようにして開く必要があります

using(StreamWriter sw = new StreamWriter("yourFile", true))

StreamWriter を強制的に現在のデータに追加し、上書きしないようにする

MSDN StreamWriter コンストラクターを参照してください

また、sw.Write呼び出しが間違っています。フォーマット文字列とフォーマット文字列に挿入されるオブジェクトを取るオーバーロードを使用しています。代わりに、Books のプロパティを記述しているだけです。

使用する必要があります

sw.WriteLine(book.Author);

各プロパティを別々の行に配置し、1 行にまとめないようにします。

于 2013-03-05T20:26:14.193 に答える