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)); do { // цикл для создания и записи в файл объектов using (FileStream byteStream = new FileStream("xml", FileMode.Create, FileAccess.ReadWrite)) { 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); using (FileStream byteStream = new FileStream("xml", FileMode.Open, FileAccess.Read)) { byteStream.Position = 0; try { row = (Multiple)formBin.Deserialize(byteStream); Console.WriteLine(row.ToString()); } catch (SerializationException) { } } }
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 serializer = new XmlSerializer(typeof(Multiple), new Type[] { typeof(int[]), typeof(int), typeof(string) }); using (FileStream fs = new FileStream("data.xml", FileMode.Create)) { 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); serializer.Serialize(fs, row); Console.WriteLine("\nДля чтения файла - клавиша ESC"); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); } using (FileStream fs = new FileStream("data.xml", FileMode.Open)) { while (true) { try { row = (Multiple)serializer.Deserialize(fs); Console.WriteLine(row.ToString()); } catch { break; } } } }