Пример #1
0
        public static bool AllConsecutiveElements <T>(this SCG.IEnumerable <T> enumerable, Func <T, T, bool> predicate)
        {
            #region Code Contracts

            // Argument must be non-null
            Requires(enumerable != null, ArgumentMustBeNonNull);

            // Argument must be non-null
            Requires(predicate != null, ArgumentMustBeNonNull);

            #endregion

            using (var enumerator = enumerable.GetEnumerator()) {
                if (enumerator.MoveNext())
                {
                    var previous = enumerator.Current;

                    while (enumerator.MoveNext())
                    {
                        var current = enumerator.Current;

                        if (!predicate(previous, current))
                        {
                            return(false);
                        }

                        previous = current;
                    }
                }
            }

            return(true);
        }
Пример #2
0
        protected static int countItems(SCG.IEnumerable <T> items)
        {
            ICollectionValue <T> jtems = items as ICollectionValue <T>;

            if (jtems != null)
            {
                return(jtems.Count);
            }

            int count = 0;

            using (SCG.IEnumerator <T> e = items.GetEnumerator())
                while (e.MoveNext())
                {
                    count++;
                }

            return(count);
        }
Пример #3
0
 public override System.Collections.Generic.IEnumerator <T> GetEnumerator()
 {
     return(enumerable.GetEnumerator());
 }
Пример #4
0
 public override SCG.IEnumerator <T> GetEnumerator() => _enumerable.GetEnumerator();
Пример #5
0
 public override SCG.IEnumerator <T> GetEnumerator()
 {
     return(_enumerable.GetEnumerator());
 }