/// <summary> /// Enumera los caracteres /// </summary> public IEnumerable <(CharType type, char character)> Read() { // Lee las líneas while (FileReaderEnumerator.MoveNext()) { string lineRead = FileReaderEnumerator.Current; // Lee los caracteres de las líneas if (string.IsNullOrWhiteSpace(lineRead)) { yield return(CharType.EoL, ' '); } else { // Lee los caracteres foreach (char character in lineRead) { yield return(CharType.Character, character); } // Lanza un salto de línea yield return(CharType.EoL, ' '); } } // Devuelve el fin de archivo yield return(CharType.EoF, ' '); }
static void Main(String[] args) { var tree = new Tree(); var fileReader = new FileReaderEnumerator(fileName); foreach (var inputLine in fileReader) { tree.AddBranch(inputLine); } tree.MergePossibleNodes(); Console.WriteLine(tree.GetCountNodes()); Console.ReadKey(); }