static void Main() { String text = File.ReadAllText("input.txt"); Tree <Identifier> tree = new Tree <Identifier>(); CSCodeParser parser = new CSCodeParser(text); int n = 0; foreach (Identifier i in parser) { Boolean flag = tree.Add(i); Console.WriteLine($"{++n}. Добавляется: {i} - {flag};"); } n = 0; Console.WriteLine("\nВывод элементов дерева."); foreach (Identifier i in tree) { Console.WriteLine($"{++n}. {i}"); } }
static void Main(string[] args) { //Генерируем тестовый экземпляр бинарного дерева. string text = File.ReadAllText("input.txt"); Tree <Identifier> tree = new Tree <Identifier>(); CSCodeParser parser = new CSCodeParser(text); foreach (Identifier i in parser) { tree.Add(i); } //Бинарная сериализация в буфер и обратно. byte[] buffer = new byte[0]; Tree <Identifier> treeClone; using (var stream = new MemoryStream()) { new BinaryFormatter().Serialize(stream, tree); buffer = stream.GetBuffer(); } using (var stream = new MemoryStream(buffer)) { treeClone = (Tree <Identifier>) new BinaryFormatter().Deserialize(stream); } //Xml сериализация в файл и обратно. var types = new Type[] { typeof(Identifier), typeof(Variable), typeof(Constant), typeof(Method), typeof(Class) }; using (var stream = new FileStream("output.txt", FileMode.OpenOrCreate)) { new XmlSerializer(typeof(Tree <Identifier>), types).Serialize(stream, tree); } }