Beispiel #1
0
        public static IEnumerator <V> Create <V>(IEnumerator <V> source, out IEnumerator <V> destination)
        {
            var capture = new CaptureHolder <V>();

            destination = capture.Enumerator;
            return(CaptureEnumerator(source, capture));
        }
Beispiel #2
0
 static IEnumerator <V> CaptureEnumerator <V>(IEnumerator <V> source, CaptureHolder <V> capture)
 {
     while (source.MoveNext())
     {
         var val = source.Current;
         capture.Value = val;
         yield return(val);
     }
 }