Yamool.CWSharp.Dawg.IterateNodesString C# (CSharp) Method

IterateNodesString() private static method

private static IterateNodesString ( string commonPrefix, DawgNode node ) : int>>.IEnumerable
commonPrefix string
node DawgNode
return int>>.IEnumerable
        private static IEnumerable<KeyValuePair<string, int>> IterateNodesString(string commonPrefix, DawgNode node)
        {
            if (node == null) yield break;
            foreach (var node2 in node.ChildNodes)
            {
                var nextCommonPrefix = commonPrefix + node2.Char;
                if (node2.Eow)
                {
                    yield return new KeyValuePair<string, int>(nextCommonPrefix, node2.Frequency);
                }
                foreach(var matchWord in IterateNodesString(nextCommonPrefix,node2))
                {
                    yield return matchWord;
                }
            }
        }