示例#1
0
 public LinkedEnumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary, DrEnumerationRules eRules)
 {
     this.dic    = linkedDictionary;
     this.eRules = (DrEnumerationRules)eRules.Clone();
     if (this.eRules.IsFirstItemRelative)
     {
         this.startFrom = this.eRules.Direction == EDirection.FORWARD ? linkedDictionary.first : linkedDictionary.last;
     }
     else
     {
         this.startFrom = linkedDictionary.dic[this.eRules.StartFromKey];
     }
     nextLinkedValue    = this.startFrom;
     currentLinkedValue = default(DrLinkedValue);
 }
示例#2
0
 public Enumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary, DrEnumerationRules eRules)
     : base(linkedDictionary, eRules)
 {
 }
示例#3
0
 /// <summary>
 /// Returns an enumerator as LinkedEnumerator that iterates through a collection by specified rules
 /// </summary>
 /// <param name="eRules">Rules of the enumeration items of the collection</param>
 /// <returns></returns>
 public LinkedEnumerator GetEnumerator(DrEnumerationRules eRules)
 {
     return(new Enumerator(dictionary, eRules));
 }