Пример #1
0
        PrefixNodePath(IEnumerable <TKey> enumerable)
        {
            PrefixTreeNodeCollection <TKey, TValue> currentNodeCollection = this.collection;

            IEnumerator <TKey> enumerator = enumerable.GetEnumerator();

            while (enumerator.MoveNext())
            {
                TKey prefix = enumerator.Current;
                yield return(new KeyValuePair <TKey, PrefixTreeNodeCollection <TKey, TValue> >
                                 (prefix, currentNodeCollection));

                if (!currentNodeCollection.ContainsKey(prefix))
                {
                    yield break;
                }

                currentNodeCollection = currentNodeCollection[prefix].Children;
            }
        }
Пример #2
0
 public PrefixTreeNodeCollection(PrefixTreeNodeCollection <TKey, TValue> collection)
 {
     this.collection = collection.collection;
 }