示例#1
0
 public IEnumerator <(T, TView)> GetEnumerator()
 {
     lock (SyncRoot)
     {
         if (!reverse)
         {
             foreach (var item in ringBuffer)
             {
                 if (filter.IsMatch(item.Item1, item.Item2))
                 {
                     yield return(item);
                 }
             }
         }
         else
         {
             foreach (var item in ringBuffer.AsEnumerable().Reverse())
             {
                 if (filter.IsMatch(item.Item1, item.Item2))
                 {
                     yield return(item);
                 }
             }
         }
     }
 }
 public IEnumerator <(T, TView)> GetEnumerator()
 {
     lock (SyncRoot)
     {
         foreach (var item in dict)
         {
             if (filter.IsMatch(item.Value.Item1, item.Value.Item2))
             {
                 yield return(item.Value);
             }
         }
     }
 }