示例#1
0
        static void Main(string[] args)
        {
            var rb = new RingBufferSelector <int>(5);

            Dump(ref rb);
            for (int i = 0; i < 3; i++)
            {
                rb.Add(i);
            }
            Dump(ref rb);
            Dump(ref rb, true);
            //for (int i = 0; i < rb.Count; i++)
            //    Console.WriteLine("{0} {1} -{0} {2}",i, rb[i],rb[-i]);
            for (int i = 3; i <= 11; i++)
            {
                rb.Add(i);
            }
            Dump(ref rb);
            Dump(ref rb, true);
            //for (int i = 0; i < rb.Count; i++)
            //    Console.WriteLine("{0} {1} -{0} {2}", i, rb[i], rb[-i]);

            var se = rb.GetSelector(even);

            while (se.MoveNext())
            {
                Console.Write("{0} ", se.Current);
            }

            Console.ReadLine();
        }