Не работает сериализация объекта Queue - C#
Формулировка задачи:
Пытаюсь по примеру сохранить объект через XmlSerializer. Выдает ошибку System.InvalidOperationException
using System; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections.Generic; using System.Xml.Serialization; class Program { static void Main(string[] args) { Queue <string> Q = new Queue <string>(); string Filename = "File.txt"; string line; StreamReader file = new System.IO.StreamReader(Filename); while ((line = file.ReadLine()) != null) { Q.Enqueue(line); } file.Close(); for(;;) { Que.Menu(); char x=Console.ReadKey().KeyChar; switch(x) { case '1':Console.WriteLine("Введите имя:");line=Console.ReadLine();Q.Enqueue(line);break; case '2':Q.Dequeue();break; case '3': string[] array = new string[Q.Count]; Q.CopyTo(array, 0); Que.Print(array); break; case 'q': Que.Serialize(Q); Environment.Exit(0); break; default:Console.WriteLine("Неправильный номер");break; } } } } static class Que { public static void Menu() { Console.WriteLine("\nВыберите действие над списком:"); Console.WriteLine("1-Добавить элемент:"); Console.WriteLine("2-удалить элемент из вершины:"); Console.WriteLine("3-Печать списка:"); Console.WriteLine("q-Выход:"); } public static void Print(string[] Q) { for (int i = 0; i < Q.Length; i++) { Console.Write("\n|Номер:{0}\tИмя:{1} ", i, Q[i]); } } public static void Serialize(Queue<string> Q) { System.Xml.Serialization.XmlSerializer serialize = new System.Xml.Serialization.XmlSerializer(typeof(Queue<string>)); var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//SerializationOverview.xml"; System.IO.FileStream file = System.IO.File.Create(path); serialize.Serialize(file, Q); } }
Решение задачи: «Не работает сериализация объекта Queue»
textual
Листинг программы
System.Xml.Serialization.XmlSerializer serialize = new System.Xml.Serialization.XmlSerializer(typeof(Queue<string>));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д