Написал программу которая выводит информацию о книге, серийный номер книги, подсчитывает общую стоимость книг и увеличивает стоимость книг на определенный процент. В программе должен был использовать сериализацию. При компиляции выдает ошибки, не могу понять что не так. Помогите исправить пожалуйста их.
Ошибки:| Цитата | D:\Documents\Visual Studio 2008\Projects\laba 2.5 sharp\laba 2.5 sharp\Program.cs(26,24): error CS0128: A local variable named 'formatter' is already defined in this scope D:\Documents\Visual Studio 2008\Projects\laba 2.5 sharp\laba 2.5 sharp\Program.cs(27,20): error CS0128: A local variable named 'sBook' is already defined in this scope D:\Documents\Visual Studio 2008\Projects\laba 2.5 sharp\laba 2.5 sharp\Program.cs(29,18): error CS0128: A local variable named 'obj' is already defined in this scope
|
Код программы:
| Код | //Book.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO;
namespace laba_2._5_sharp { [Serializable] public class Book { public string SerialNumber; public string NameBook; public double PriceBook; public uint CountBooks;
public Book() { SerialNumber = "n\a"; NameBook = "n\a"; PriceBook = 0; CountBooks = 0; }
public void ChangePrice(float percent) { PriceBook = PriceBook * Convert.ToDouble(percent / 100); }
public double TotalPrice() { return PriceBook * CountBooks; } } }
//Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO;
namespace laba_2._5_sharp { class Program { static void Main(string[] args) { Book obj = new Book(); obj.NameBook = "Вася Пупкин"; obj.SerialNumber = "453agr56"; obj.PriceBook = 4.7; obj.CountBooks = 5; BinaryFormatter formatter = new BinaryFormatter(); Stream sBook = new FileStream("Books.txt", FileMode.CreateNew, FileAccess.Write, FileShare.None); formatter.Serialize(sBook, obj); sBook.Close();
IFormatter formatter = new BinaryFormatter();// жалуется на эту строку Stream sBook = new FileStream("Books.txt", FileMode.Open, FileAccess.Read, FileShare.Read); Book obj = (Book)formatter.Deserialize(sBook);// жалуется на эту строку sBook.Close();// жалуется на эту строку
Console.WriteLine("1: {0}", obj.NameBook); Console.WriteLine("2: {0}", obj.SerialNumber); Console.WriteLine("3: {0}", obj.PriceBook); Console.WriteLine("4: {0}", obj.CountBooks); } } }
|
|