static void Main(string[] args) { Multiple row; int size = 0; do { Console.Write("Введите размер генеральной совокупности: "); }while (!int.TryParse(Console.ReadLine(), out size) | size < 1); Random gen = new Random(5); int[] data = new int[size]; for (int i = 0; i < size; i++) { data[i] = gen.Next(0, 100); Console.Write(data[i] + " "); } Console.WriteLine(); using (FileStream stream = new FileStream("data.xml", FileMode.Create, FileAccess.ReadWrite)) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(Multiple)); do { int div; do { do { Console.Write("Введите делитель: "); }while (!int.TryParse(Console.ReadLine(), out div)); try { row = new Multiple(div, data); break; } catch (Exception) { Console.WriteLine("Нужен делитель от 1 до 9!"); continue; } }while (true); xmlSerializer.Serialize(stream, row); stream.Flush(); Console.WriteLine("\nДля чтения файла - клавиша ESC"); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); stream.Position = 0; row = (Multiple)xmlSerializer.Deserialize(stream); Console.WriteLine(row.ToString()); } }
static void Main(string[] args) { Multiple row; // ссылка на объект класса int size = 0; // размер генеральной совокупности do { Console.Write("Введите размер генеральной совокупности: "); }while (!int.TryParse(Console.ReadLine(), out size) | size < 1); Random gen = new Random(5); int[] data = new int[size]; // генеральная совокупность for (int i = 0; i < size; i++) { data[i] = gen.Next(0, 100); Console.Write(data[i] + " "); } Console.WriteLine(); XmlSerializer formBin = new XmlSerializer(typeof(Multiple[])); using (FileStream byteStream = new FileStream("bytes.xml", FileMode.Create, FileAccess.ReadWrite)) { List <Multiple> list = new List <Multiple>(); do { // цикл для создания и записи в файл объектов int div; do { // цикл проверки делителя! do { Console.Write("Введите делитель: "); }while (!int.TryParse(Console.ReadLine(), out div)); try { row = new Multiple(div, data); break; } catch (Exception) { Console.WriteLine("Нужен делитель от 1 до 9!"); continue; } list.Add(row); }while (true); Console.WriteLine("\nДля чтения файла - клавиша ESC"); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); formBin.Serialize(byteStream, list.ToArray()); byteStream.Flush(); byteStream.Position = 0; list = new List <Multiple>((Multiple[])formBin.Deserialize(byteStream)); Console.WriteLine(row.ToString()); } }
static void Main(string[] args) { Multiple row; // ссылка на объект класса int size = 0; // размер генеральной совокупности do { Console.Write("Введите размер генеральной совокупности: "); }while (!int.TryParse(Console.ReadLine(), out size) | size < 1); Random gen = new Random(5); int[] data = new int[size]; // генеральная совокупность for (int i = 0; i < size; i++) { data[i] = gen.Next(0, 100); Console.Write(data[i] + " "); } Console.WriteLine(); BinaryFormatter formBin = new BinaryFormatter(); using (FileStream byteStream = new FileStream("bytes", FileMode.Create, FileAccess.ReadWrite)) { do { // цикл для создания и записи в файл объектов int div; do { // цикл проверки делителя! do { Console.Write("Введите делитель: "); }while (!int.TryParse(Console.ReadLine(), out div)); try { row = new Multiple(div, data); break; } catch (Exception) { Console.WriteLine("Нужен делитель от 1 до 9!"); continue; } }while (true); // создан объект row, запишем его код в файл: formBin.Serialize(byteStream, row); byteStream.Flush(); Console.WriteLine("\nДля чтения файла - клавиша ESC"); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); byteStream.Position = 0; while (true) // читать до конца файла { try { row = (Multiple)formBin.Deserialize(byteStream); Console.WriteLine(row.ToString()); } catch (SerializationException) { // break; } } } Console.ReadKey(); }