internal bool HasChild(char c) { if (TrieChildren.Count > 0) { return(TrieChildren.Exists (n => n.Value.ToString() == c.ToString())); } else { return(false); } }
internal TrieNode AddChild(char c) { TrieNode newNode = new TrieNode(c, Level + 1, this); TrieChildren.Add(newNode); if (c != '^') { NumChildren++; Expanded = true; } return(newNode); }
internal TrieNode GetChild(char c) { return(TrieChildren.Find (n => n.Value.ToString() == c.ToString())); }