コード例 #1
0
ファイル: Extensions.extra.cs プロジェクト: rjmcguire/Theraot
        public static IEnumerable <T> Cycle <T>(this IEnumerable <T> source)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            var progressive = new ProgressiveCollection <T>(source);

            while (true)
            {
                foreach (var item in progressive)
                {
                    yield return(item);
                }
            }
            // Infinite Loop - This method creates an endless IEnumerable<T>
        }
コード例 #2
0
 private ProgressiveSet(Progressor <T> progressor, ISet <T> cache, IEqualityComparer <T>?comparer)
 {
     Comparer = comparer ?? EqualityComparer <T> .Default;
     _wrapped = ProgressiveCollection <T> .Create(progressor, cache, Comparer);
 }