public IEnumerable<KeyValuePair<string, int>> MatchsPrefix(string prefix)
{
if (prefix == null)
{
prefix = string.Empty;
}
var nextNode = _root;
for (var i = 0; nextNode != null && i < prefix.Length; i++)
{
nextNode = nextNode.Next(prefix[i]);
}
if (nextNode == null)
{
yield break;
}
foreach (var matchWord in IterateNodesString(prefix, nextNode))
{
yield return matchWord;
}
}