232 num = array.Length - 1;
526 return Array.Empty<TSource>();
687 if (
array.Length != 0)
852 [DebuggerDisplay(
"Count = {Count}")]
932 return default(TSource);
943 return default(TSource);
948 int num = _source.Count - 1;
955 return default(TSource);
963 return Array.Empty<TSource>();
968 while (num !=
array.Length)
1144 return default(TSource);
1158 return default(TSource);
1167 int num =
Limit - 1;
1181 return default(TSource);
1190 int num =
Limit - 1;
1203 return Array.Empty<TSource>();
1213 int num =
Limit - 1;
1243 for (uint num = 0
u; num <
index; num++)
1254 [DebuggerDisplay(
"Count = {CountForDebugger}")]
1272 for (
int i = 0; i !=
array.Length; i++)
1373 [DebuggerDisplay(
"Count = {_count}")]
1396 for (
int i = 0; i !=
_count; i++)
1468 if (num >= 0 && num !=
_count)
1542 _state = buffer._count + 2;
1658 [DebuggerDisplay(
"Count = {CountForDebugger}")]
1670 for (
int i = 0; i <
array.Length; i++)
1681 for (
int i = 0; i <
source.Length; i++)
1812 for (
int i = 0; i <
array.Length; i++)
1883 [DebuggerDisplay(
"Count = {CountForDebugger}")]
1902 for (
int i = 0; i <
array.Length; i++)
1913 for (
int i = 0; i <
count; i++)
1925 for (
int i = 0; i <
count; i++)
2020 [DebuggerDisplay(
"Count = {CountForDebugger}")]
2039 for (
int i = 0; i <
array.Length; i++)
2050 for (
int i = 0; i <
count; i++)
2062 for (
int i = 0; i <
count; i++)
2346 [DebuggerDisplay(
"Count = {Count}")]
2445 int num = _source.Count - 1;
2465 while (num !=
array.Length)
2708 if (
set.
Add(current))
2896 foreach (TSource val
in source)
2910 foreach (TSource val
in source)
2935 while ((uint)num < (uint)
source.Length)
2937 TSource val =
source[num];
3137 while ((uint)num < (uint)
source.Length)
3402 iterator._state = 1;
3621 return collection.Count != 0;
3633 return collection2.Count != 0;
3725 return (
double)num / (double)
num2;
3742 if (!current.HasValue)
3746 long num = current.GetValueOrDefault();
3751 if (current.HasValue)
3753 num += current.GetValueOrDefault();
3757 return (
double)num / (double)
num2;
3784 return (
double)num / (double)
num2;
3801 if (!current.HasValue)
3805 long num = current.GetValueOrDefault();
3810 if (current.HasValue)
3812 num += current.GetValueOrDefault();
3816 return (
double)num / (double)
num2;
3841 return (
float)(num / (double)
num2);
3855 if (!current.HasValue)
3859 double num = current.GetValueOrDefault();
3864 if (current.HasValue)
3866 num += (double)current.GetValueOrDefault();
3870 return (
float)(num / (double)
num2);
3894 return num / (double)
num2;
3908 if (!current.HasValue)
3912 double num = current.GetValueOrDefault();
3917 if (current.HasValue)
3919 num += current.GetValueOrDefault();
3923 return num / (double)
num2;
3947 return current / (decimal)num;
3961 if (!current.HasValue)
3970 if (current.HasValue)
4006 return (
double)num / (double)
num2;
4031 long num2 = num.GetValueOrDefault();
4038 num2 += num.GetValueOrDefault();
4042 return (
double)
num2 / (double)
num3;
4073 return (
double)num / (double)
num2;
4098 long num2 = num.GetValueOrDefault();
4105 num2 += num.GetValueOrDefault();
4109 return (
double)
num2 / (double)
num3;
4138 return (
float)(num / (double)
num2);
4160 double num2 = num.GetValueOrDefault();
4167 num2 += (double)num.GetValueOrDefault();
4171 return (
float)(
num2 / (double)
num3);
4199 return num / (double)
num2;
4221 double num2 = num.GetValueOrDefault();
4228 num2 += num.GetValueOrDefault();
4260 return num / (decimal)
num2;
4356 while (e.MoveNext())
4359 array[0] = e.Current;
4361 for (i = 1; i <
array.Length; i++)
4367 array[i] = e.Current;
4369 if (i ==
array.Length)
4550 return source.DefaultIfEmpty(
default(TSource));
4564 return source.Distinct(
null);
4607 yield return current;
4640 return default(TSource);
4649 if (!
index.IsFromEnd)
4679 return default(TSource);
4693 if (!
index.IsFromEnd)
4720 element =
default(TSource);
4743 element =
queue.Dequeue();
4748 element =
default(TSource);
4913 return default(TSource);
4935 return default(TSource);
4963 public static IEnumerable<TResult> GroupBy<TSource, TKey, TElement, TResult>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector,
Func<TSource, TElement> elementSelector, Func<TKey,
IEnumerable<TElement>,
TResult>
resultSelector)
4973 public static IEnumerable<TResult> GroupBy<TSource, TKey, TElement, TResult>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector,
Func<TSource, TElement> elementSelector, Func<TKey,
IEnumerable<TElement>,
TResult>
resultSelector,
IEqualityComparer<TKey>?
comparer)
4978 public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(
this IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector, Func<
TOuter,
IEnumerable<TInner>,
TResult>
resultSelector)
5003 public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(
this IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector, Func<
TOuter,
IEnumerable<TInner>,
TResult>
resultSelector,
IEqualityComparer<TKey>?
comparer)
5028 private static IEnumerable<TResult> GroupJoinIterator<TOuter, TInner, TKey, TResult>(
IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector, Func<
TOuter,
IEnumerable<TInner>,
TResult>
resultSelector,
IEqualityComparer<TKey> comparer)
5036 TOuter current = e.Current;
5039 while (e.MoveNext());
5088 if (
set.Remove(
item))
5107 public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(
this IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector,
Func<TOuter, TInner, TResult> resultSelector)
5132 public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(
this IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector,
Func<TOuter, TInner, TResult> resultSelector,
IEqualityComparer<TKey>?
comparer)
5157 private static IEnumerable<TResult> JoinIterator<TOuter, TInner, TKey, TResult>(
IEnumerable<TOuter> outer,
IEnumerable<TInner> inner,
Func<TOuter, TKey> outerKeySelector,
Func<TInner, TKey> innerKeySelector,
Func<TOuter, TInner, TResult> resultSelector,
IEqualityComparer<TKey> comparer)
5186 while (e.MoveNext());
5279 return default(TSource);
5298 for (
int num =
list.Count - 1; num >= 0; num--)
5300 TSource val =
list[num];
5331 return default(TSource);
5414 while (!result.HasValue);
5415 int num = result.GetValueOrDefault();
5475 long? result =
null;
5486 while (!result.HasValue);
5487 long num = result.GetValueOrDefault();
5530 while (
double.IsNaN(num))
5555 double? result =
null;
5560 if (!result.HasValue)
5564 double num = result.GetValueOrDefault();
5565 while (
double.IsNaN(num))
5572 if (current.HasValue)
5574 double?
num2 = (result = current);
5575 num =
num2.GetValueOrDefault();
5605 while (
float.IsNaN(num))
5630 float? result =
null;
5635 if (!result.HasValue)
5639 float num = result.GetValueOrDefault();
5640 while (
float.IsNaN(num))
5647 if (current.HasValue)
5649 float?
num2 = (result = current);
5650 num =
num2.GetValueOrDefault();
5697 decimal? result =
null;
5702 if (!result.HasValue)
5706 decimal num = result.GetValueOrDefault();
5737 TSource val =
default(TSource);
5750 while (val ==
null);
5754 if (current !=
null &&
comparer.Compare(current, val) > 0)
5816 if (
default(TSource) ==
null)
5818 return default(TSource);
5824 if (
default(TKey) ==
null)
5826 while (
val2 ==
null)
5923 while (!result.HasValue);
5924 int num = result.GetValueOrDefault();
5992 long? result =
null;
6003 while (!result.HasValue);
6004 long num = result.GetValueOrDefault();
6051 while (
float.IsNaN(num))
6080 float? result =
null;
6085 if (!result.HasValue)
6089 float num = result.GetValueOrDefault();
6090 while (
float.IsNaN(num))
6100 num =
num3.GetValueOrDefault();
6134 while (
double.IsNaN(num))
6163 double? result =
null;
6168 if (!result.HasValue)
6172 double num = result.GetValueOrDefault();
6173 while (
double.IsNaN(num))
6183 num =
num3.GetValueOrDefault();
6238 decimal? result =
null;
6243 if (!result.HasValue)
6247 decimal num = result.GetValueOrDefault();
6286 while (val ==
null);
6291 if (
val2 !=
null && @
default.Compare(
val2, val) > 0)
6351 if (!result.HasValue)
6355 int num = result.GetValueOrDefault();
6400 long? result =
null;
6405 if (!result.HasValue)
6409 long num = result.GetValueOrDefault();
6437 if (
float.IsNaN(num))
6448 else if (
float.IsNaN(current))
6462 float? result =
null;
6467 if (!result.HasValue)
6471 float num = result.GetValueOrDefault();
6472 if (
float.IsNaN(num))
6479 if (current.HasValue)
6510 if (
double.IsNaN(num))
6521 else if (
double.IsNaN(current))
6535 double? result =
null;
6540 if (!result.HasValue)
6544 double num = result.GetValueOrDefault();
6545 if (
double.IsNaN(num))
6552 if (current.HasValue)
6600 decimal? result =
null;
6605 if (!result.HasValue)
6609 decimal num = result.GetValueOrDefault();
6640 TSource val =
default(TSource);
6653 while (val ==
null);
6657 if (current !=
null &&
comparer.Compare(current, val) < 0)
6719 if (
default(TSource) ==
null)
6721 return default(TSource);
6727 if (
default(TKey) ==
null)
6729 while (
val2 ==
null)
6820 if (!result.HasValue)
6824 int num = result.GetValueOrDefault();
6877 long? result =
null;
6882 if (!result.HasValue)
6886 long num = result.GetValueOrDefault();
6918 if (
float.IsNaN(num))
6929 else if (
float.IsNaN(
num2))
6947 float? result =
null;
6952 if (!result.HasValue)
6956 float num = result.GetValueOrDefault();
6957 if (
float.IsNaN(num))
6999 if (
double.IsNaN(num))
7010 else if (
double.IsNaN(
num2))
7028 double? result =
null;
7033 if (!result.HasValue)
7037 double num = result.GetValueOrDefault();
7038 if (
double.IsNaN(num))
7101 decimal? result =
null;
7106 if (!result.HasValue)
7110 decimal num = result.GetValueOrDefault();
7149 while (val ==
null);
7154 if (
val2 !=
null && @
default.Compare(
val2, val) < 0)
7290 if (
array.Length != 0)
7411 foreach (TSource element
in source)
7440 foreach (TSource element
in source)
7481 for (
int i = 0; i <
count; i++)
7575 return default(TSource);
7587 return default(TSource);
7598 return default(TSource);
7632 return default(TSource);
7672 while (e.MoveNext())
7674 TSource current = e.Current;
7677 yield return current;
7678 while (e.MoveNext())
7680 yield return e.Current;
7704 while (e.MoveNext())
7707 TSource current = e.Current;
7710 yield return current;
7711 while (e.MoveNext())
7713 yield return e.Current;
7804 num += (double)
item;
7820 num += (double)
item.GetValueOrDefault();
7851 num +=
item.GetValueOrDefault();
7863 decimal result =
default(decimal);
7877 decimal
value =
default(decimal);
8002 num += (double)
num2.GetValueOrDefault();
8042 num +=
num2.GetValueOrDefault();
8058 decimal result =
default(decimal);
8076 decimal
value =
default(decimal);
8082 value += num.GetValueOrDefault();
8358 for (
int i = 0; i <
source.Length; i++)
8422 for (
int i = 0; i <
source.Length; i++)
8441 return source.ToHashSet(
null);
8455 TSource[]
array =
new TSource[
set.Count];
8463 foreach (TSource
item in set)
8549 if (
array.Length != 0)
8639 while (
e1.MoveNext() &&
e2.MoveNext())
8641 yield return (First:
e1.Current, Second:
e2.Current);
8649 while (
e1.MoveNext() &&
e2.MoveNext())
8660 while (
e1.MoveNext() &&
e2.MoveNext() &&
e3.MoveNext())
8662 yield return (First:
e1.Current, Second:
e2.Current, Third:
e3.Current);
static void Reverse(Array array)
IEqualityComparer< TKey > _comparer
void CopyTo(KeyValuePair< TKey, TValue >[] array, int index)
void AddRange(IEnumerable< KeyValuePair< TKey, TValue > > collection)
Enumerator GetEnumerator()
void Add(TKey key, TValue value)
void ICollection< T >. Add(T item)
Enumerator GetEnumerator()
static int CurrentManagedThreadId
override AppendPrependIterator< TSource > Prepend(TSource item)
override List< TSource > ToList()
AppendPrepend1Iterator(IEnumerable< TSource > source, TSource item, bool appending)
override int GetCount(bool onlyIfCheap)
override Iterator< TSource > Clone()
override TSource[] ToArray()
override AppendPrependIterator< TSource > Append(TSource item)
AppendPrependIterator(IEnumerable< TSource > source)
readonly IEnumerable< TSource > _source
void GetSourceEnumerator()
int GetCount(bool onlyIfCheap)
bool LoadFromEnumerator()
IEnumerator< TSource > _enumerator
AppendPrependIterator< TSource > Append(TSource item)
AppendPrependIterator< TSource > Prepend(TSource item)
readonly int _prependCount
override AppendPrependIterator< TSource > Prepend(TSource item)
override Iterator< TSource > Clone()
SingleLinkedNode< TSource > _node
readonly int _appendCount
AppendPrependN(IEnumerable< TSource > source, SingleLinkedNode< TSource > prepended, SingleLinkedNode< TSource > appended, int prependCount, int appendCount)
override TSource[] ToArray()
override int GetCount(bool onlyIfCheap)
readonly SingleLinkedNode< TSource > _prepended
readonly SingleLinkedNode< TSource > _appended
override AppendPrependIterator< TSource > Append(TSource item)
override List< TSource > ToList()
override Iterator< TSource > Clone()
override ConcatIterator< TSource > Concat(IEnumerable< TSource > next)
readonly IEnumerable< TSource > _first
readonly IEnumerable< TSource > _second
Concat2Iterator(IEnumerable< TSource > first, IEnumerable< TSource > second)
override IEnumerable< TSource > GetEnumerable(int index)
override TSource[] ToArray()
override int GetCount(bool onlyIfCheap)
IEnumerator< TSource > _enumerator
int GetCount(bool onlyIfCheap)
IEnumerable< TSource > GetEnumerable(int index)
ConcatIterator< TSource > Concat(IEnumerable< TSource > next)
TSource[] PreallocatingToArray()
ConcatNIterator(ConcatIterator< TSource > tail, IEnumerable< TSource > head, int headIndex, bool hasOnlyCollections)
override int GetCount(bool onlyIfCheap)
readonly IEnumerable< TSource > _head
readonly ConcatIterator< TSource > _tail
override Iterator< TSource > Clone()
override TSource[] ToArray()
override IEnumerable< TSource > GetEnumerable(int index)
ConcatNIterator< TSource > PreviousN
override ConcatIterator< TSource > Concat(IEnumerable< TSource > next)
readonly bool _hasOnlyCollections
readonly IEnumerable< TSource > _source
DefaultIfEmptyIterator(IEnumerable< TSource > source, TSource defaultValue)
readonly TSource _default
override Iterator< TSource > Clone()
int GetCount(bool onlyIfCheap)
IEnumerator< TSource > _enumerator
override Iterator< TSource > Clone()
readonly IEqualityComparer< TSource > _comparer
int GetCount(bool onlyIfCheap)
readonly IEnumerable< TSource > _source
IEnumerator< TSource > _enumerator
DistinctIterator(IEnumerable< TSource > source, IEqualityComparer< TSource > comparer)
EnumerablePartition(IEnumerable< TSource > source, int minIndexInclusive, int maxIndexInclusive)
readonly int _minIndexInclusive
bool SkipBeforeFirst(IEnumerator< TSource > en)
override IEnumerable< TResult > Select< TResult >(Func< TSource, TResult > selector)
IPartition< TSource > Take(int count)
int GetCount(bool onlyIfCheap)
readonly IEnumerable< TSource > _source
IEnumerator< TSource > _enumerator
TSource TryGetFirst(out bool found)
static uint SkipAndCount(uint index, IEnumerator< TSource > en)
static bool SkipBefore(int index, IEnumerator< TSource > en)
static int SkipAndCount(int index, IEnumerator< TSource > en)
TSource TryGetLast(out bool found)
readonly int _maxIndexInclusive
IPartition< TSource > Skip(int count)
override Iterator< TSource > Clone()
TSource TryGetElementAt(int index, out bool found)
IEnumerator< TSource > GetEnumerator()
virtual IEnumerable< TResult > Select< TResult >(Func< TSource, TResult > selector)
Iterator< TSource > Clone()
object IEnumerator. Current
virtual IEnumerable< TSource > Where(Func< TSource, bool > predicate)
int GetCount(bool onlyIfCheap)
ListPartition(IList< TSource > source, int minIndexInclusive, int maxIndexInclusive)
IPartition< TSource > Skip(int count)
readonly int _maxIndexInclusive
TSource TryGetLast(out bool found)
readonly int _minIndexInclusive
IPartition< TSource > Take(int count)
TSource TryGetFirst(out bool found)
override IEnumerable< TResult > Select< TResult >(Func< TSource, TResult > selector)
override Iterator< TSource > Clone()
readonly IList< TSource > _source
TSource TryGetElementAt(int index, out bool found)
RangeIterator(int start, int count)
IPartition< int > Take(int count)
override IEnumerable< TResult > Select< TResult >(Func< int, TResult > selector)
int TryGetFirst(out bool found)
int TryGetElementAt(int index, out bool found)
override Iterator< int > Clone()
int GetCount(bool onlyIfCheap)
IPartition< int > Skip(int count)
int TryGetLast(out bool found)
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
TResult TryGetFirst(out bool found)
TResult TryGetElementAt(int index, out bool found)
RepeatIterator(TResult element, int count)
int GetCount(bool onlyIfCheap)
override Iterator< TResult > Clone()
IPartition< TResult > Take(int count)
TResult TryGetLast(out bool found)
IPartition< TResult > Skip(int count)
override Iterator< TSource > Clone()
ReverseIterator(IEnumerable< TSource > source)
int GetCount(bool onlyIfCheap)
readonly IEnumerable< TSource > _source
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
TResult TryGetElementAt(int index, out bool found)
TResult TryGetLast(out bool found)
SelectArrayIterator(TSource[] source, Func< TSource, TResult > selector)
IPartition< TResult > Take(int count)
override Iterator< TResult > Clone()
readonly TSource[] _source
TResult TryGetFirst(out bool found)
int GetCount(bool onlyIfCheap)
readonly Func< TSource, TResult > _selector
IPartition< TResult > Skip(int count)
int GetCount(bool onlyIfCheap)
readonly IEnumerable< TSource > _source
IEnumerator< TSource > _enumerator
readonly Func< TSource, TResult > _selector
SelectEnumerableIterator(IEnumerable< TSource > source, Func< TSource, TResult > selector)
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
override Iterator< TResult > Clone()
readonly Func< TSource, TResult > _selector
IEnumerator< TSource > _enumerator
IPartition< TResult > Take(int count)
TResult TryGetElementAt(int index, out bool found)
override Iterator< TResult > Clone()
readonly IList< TSource > _source
TResult TryGetFirst(out bool found)
TResult TryGetLast(out bool found)
SelectIListIterator(IList< TSource > source, Func< TSource, TResult > selector)
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
int GetCount(bool onlyIfCheap)
IPartition< TResult > Skip(int count)
SelectIPartitionIterator(IPartition< TSource > source, Func< TSource, TResult > selector)
TResult[] PreallocatingToArray(int count)
IPartition< TResult > Take(int count)
IPartition< TResult > Skip(int count)
TResult TryGetFirst(out bool found)
readonly IPartition< TSource > _source
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
TResult TryGetLast(out bool found)
readonly Func< TSource, TResult > _selector
TResult TryGetElementAt(int index, out bool found)
IEnumerator< TSource > _enumerator
int GetCount(bool onlyIfCheap)
override Iterator< TResult > Clone()
TResult TryGetElementAt(int index, out bool found)
int GetCount(bool onlyIfCheap)
SelectListIterator(List< TSource > source, Func< TSource, TResult > selector)
TResult TryGetFirst(out bool found)
override Iterator< TResult > Clone()
IPartition< TResult > Skip(int count)
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
TResult TryGetLast(out bool found)
readonly List< TSource > _source
readonly Func< TSource, TResult > _selector
List< TSource >.Enumerator _enumerator
IPartition< TResult > Take(int count)
TResult TryGetFirst(out bool found)
readonly int _minIndexInclusive
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
SelectListPartitionIterator(IList< TSource > source, Func< TSource, TResult > selector, int minIndexInclusive, int maxIndexInclusive)
IPartition< TResult > Skip(int count)
int GetCount(bool onlyIfCheap)
TResult TryGetLast(out bool found)
IPartition< TResult > Take(int count)
readonly int _maxIndexInclusive
TResult TryGetElementAt(int index, out bool found)
readonly IList< TSource > _source
readonly Func< TSource, TResult > _selector
override Iterator< TResult > Clone()
IEnumerator< TResult > _subEnumerator
int GetCount(bool onlyIfCheap)
override Iterator< TResult > Clone()
readonly IEnumerable< TSource > _source
IEnumerator< TSource > _sourceEnumerator
SelectManySingleSelectorIterator(IEnumerable< TSource > source, Func< TSource, IEnumerable< TResult > > selector)
readonly Func< TSource, IEnumerable< TResult > > _selector
TResult TryGetFirst(out bool found)
IPartition< TResult > Skip(int count)
int GetCount(bool onlyIfCheap)
IPartition< TResult > Take(int count)
SelectRangeIterator(int start, int end, Func< int, TResult > selector)
TResult TryGetLast(out bool found)
readonly Func< int, TResult > _selector
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
override Iterator< TResult > Clone()
TResult TryGetElementAt(int index, out bool found)
override IEnumerable< TSource > GetEnumerable(int index)
override UnionIterator< TSource > Union(IEnumerable< TSource > next)
UnionIterator2(IEnumerable< TSource > first, IEnumerable< TSource > second, IEqualityComparer< TSource > comparer)
readonly IEnumerable< TSource > _first
readonly IEnumerable< TSource > _second
override Iterator< TSource > Clone()
readonly SingleLinkedNode< IEnumerable< TSource > > _sources
override IEnumerable< TSource > GetEnumerable(int index)
override Iterator< TSource > Clone()
override UnionIterator< TSource > Union(IEnumerable< TSource > next)
UnionIteratorN(SingleLinkedNode< IEnumerable< TSource > > sources, int headIndex, IEqualityComparer< TSource > comparer)
int GetCount(bool onlyIfCheap)
readonly IEqualityComparer< TSource > _comparer
UnionIterator(IEqualityComparer< TSource > comparer)
void SetEnumerator(IEnumerator< TSource > enumerator)
IEnumerable< TSource > GetEnumerable(int index)
HashSet< TSource > FillSet()
IEnumerator< TSource > _enumerator
UnionIterator< TSource > Union(IEnumerable< TSource > next)
override IEnumerable< TSource > Where(Func< TSource, bool > predicate)
readonly Func< TSource, bool > _predicate
readonly TSource[] _source
override IEnumerable< TResult > Select< TResult >(Func< TSource, TResult > selector)
override Iterator< TSource > Clone()
int GetCount(bool onlyIfCheap)
WhereArrayIterator(TSource[] source, Func< TSource, bool > predicate)
override Iterator< TSource > Clone()
readonly IEnumerable< TSource > _source
readonly Func< TSource, bool > _predicate
WhereEnumerableIterator(IEnumerable< TSource > source, Func< TSource, bool > predicate)
int GetCount(bool onlyIfCheap)
IEnumerator< TSource > _enumerator
override IEnumerable< TResult > Select< TResult >(Func< TSource, TResult > selector)
override IEnumerable< TSource > Where(Func< TSource, bool > predicate)
override IEnumerable< TSource > Where(Func< TSource, bool > predicate)
WhereListIterator(List< TSource > source, Func< TSource, bool > predicate)
readonly List< TSource > _source
override Iterator< TSource > Clone()
override IEnumerable< TResult > Select< TResult >(Func< TSource, TResult > selector)
readonly Func< TSource, bool > _predicate
int GetCount(bool onlyIfCheap)
List< TSource >.Enumerator _enumerator
readonly TSource[] _source
int GetCount(bool onlyIfCheap)
readonly Func< TSource, bool > _predicate
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
readonly Func< TSource, TResult > _selector
override Iterator< TResult > Clone()
WhereSelectArrayIterator(TSource[] source, Func< TSource, bool > predicate, Func< TSource, TResult > selector)
IEnumerator< TSource > _enumerator
int GetCount(bool onlyIfCheap)
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
readonly Func< TSource, bool > _predicate
WhereSelectEnumerableIterator(IEnumerable< TSource > source, Func< TSource, bool > predicate, Func< TSource, TResult > selector)
readonly IEnumerable< TSource > _source
override Iterator< TResult > Clone()
readonly Func< TSource, TResult > _selector
readonly Func< TSource, TResult > _selector
List< TSource >.Enumerator _enumerator
override IEnumerable< TResult2 > Select< TResult2 >(Func< TResult, TResult2 > selector)
WhereSelectListIterator(List< TSource > source, Func< TSource, bool > predicate, Func< TSource, TResult > selector)
int GetCount(bool onlyIfCheap)
readonly List< TSource > _source
readonly Func< TSource, bool > _predicate
override Iterator< TResult > Clone()
static IEnumerable< TResult > GroupJoinIterator< TOuter, TInner, TKey, TResult >(IEnumerable< TOuter > outer, IEnumerable< TInner > inner, Func< TOuter, TKey > outerKeySelector, Func< TInner, TKey > innerKeySelector, Func< TOuter, IEnumerable< TInner >, TResult > resultSelector, IEqualityComparer< TKey > comparer)
static int Max(this IEnumerable< int > source)
static IEnumerable< TResult > JoinIterator< TOuter, TInner, TKey, TResult >(IEnumerable< TOuter > outer, IEnumerable< TInner > inner, Func< TOuter, TKey > outerKeySelector, Func< TInner, TKey > innerKeySelector, Func< TOuter, TInner, TResult > resultSelector, IEqualityComparer< TKey > comparer)
static long Sum(this IEnumerable< long > source)
static IEnumerable< TResult > ZipIterator< TFirst, TSecond, TResult >(IEnumerable< TFirst > first, IEnumerable< TSecond > second, Func< TFirst, TSecond, TResult > resultSelector)
static float Min(this IEnumerable< float > source)
static IEnumerable< TSource > Append< TSource >(this IEnumerable< TSource > source, TSource element)
static Dictionary< TKey, TElement > ToDictionary< TSource, TKey, TElement >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TElement > elementSelector)
static ? TResult Min< TSource, TResult >(this IEnumerable< TSource > source, Func< TSource, TResult > selector)
static IEnumerable< TResult > GroupJoin< TOuter, TInner, TKey, TResult >(this IEnumerable< TOuter > outer, IEnumerable< TInner > inner, Func< TOuter, TKey > outerKeySelector, Func< TInner, TKey > innerKeySelector, Func< TOuter, IEnumerable< TInner >, TResult > resultSelector)
static ? float Sum(this IEnumerable< float?> source)
static TResult Aggregate< TSource, TAccumulate, TResult >(this IEnumerable< TSource > source, TAccumulate seed, Func< TAccumulate, TSource, TAccumulate > func, Func< TAccumulate, TResult > resultSelector)
static bool Contains< TSource >(this IEnumerable< TSource > source, TSource value)
static ? TSource MinBy< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static IEnumerable< TSource[]> Chunk< TSource >(this IEnumerable< TSource > source, int size)
static IEnumerable< TSource > Skip< TSource >(this IEnumerable< TSource > source, int count)
static ? double Min(this IEnumerable< double?> source)
static IEnumerable< TSource > Concat< TSource >(this IEnumerable< TSource > first, IEnumerable< TSource > second)
static ILookup< TKey, TElement > ToLookup< TSource, TKey, TElement >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TElement > elementSelector)
static TSource Single< TSource >(this IEnumerable< TSource > source)
static ? long Min(this IEnumerable< long?> source)
static ? int Min(this IEnumerable< int?> source)
static bool Any< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TSource > IntersectByIterator< TSource, TKey >(IEnumerable< TSource > first, IEnumerable< TKey > second, Func< TSource, TKey > keySelector, IEqualityComparer< TKey > comparer)
static IEnumerable< IGrouping< TKey, TSource > > GroupBy< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static int Sum< TSource >(this IEnumerable< TSource > source, Func< TSource, int > selector)
static void CreateSelectIPartitionIterator< TResult, TSource >(Func< TSource, TResult > selector, IPartition< TSource > partition, [NotNull] ref IEnumerable< TResult > result)
static double Average< TSource >(this IEnumerable< TSource > source, Func< TSource, int > selector)
static float Sum(this IEnumerable< float > source)
static IEnumerable< TSource > TakeRangeIterator< TSource >(IEnumerable< TSource > source, int startIndex, int endIndex)
static IEnumerable< TSource > IntersectIterator< TSource >(IEnumerable< TSource > first, IEnumerable< TSource > second, IEqualityComparer< TSource > comparer)
static ? TResult Max< TSource, TResult >(this IEnumerable< TSource > source, Func< TSource, TResult > selector)
static IEnumerable< TResult > GroupBy< TSource, TKey, TElement, TResult >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TElement > elementSelector, Func< TKey, IEnumerable< TElement >, TResult > resultSelector)
static List< TSource > ToList< TSource >(this IEnumerable< TSource > source)
static double Average(this IEnumerable< long > source)
static ? double Average(this IEnumerable< double?> source)
static IEnumerable< TSource > TakeWhile< TSource >(this IEnumerable< TSource > source, Func< TSource, bool > predicate)
static IEnumerable< TSource > IntersectBy< TSource, TKey >(this IEnumerable< TSource > first, IEnumerable< TKey > second, Func< TSource, TKey > keySelector)
static IEnumerable< TSource > UnionByIterator< TSource, TKey >(IEnumerable< TSource > first, IEnumerable< TSource > second, Func< TSource, TKey > keySelector, IEqualityComparer< TKey > comparer)
static double Average(this IEnumerable< int > source)
static ? float Average(this IEnumerable< float?> source)
static Dictionary< TKey, TSource > ToDictionary< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static ? long Max(this IEnumerable< long?> source)
static IEnumerable< TSource > Take< TSource >(this IEnumerable< TSource > source, int count)
static TSource ElementAt< TSource >(this IEnumerable< TSource > source, int index)
static ? decimal Average(this IEnumerable< decimal?> source)
static IEnumerable< TSource > TakeLast< TSource >(this IEnumerable< TSource > source, int count)
static ? long Sum(this IEnumerable< long?> source)
static TSource Aggregate< TSource >(this IEnumerable< TSource > source, Func< TSource, TSource, TSource > func)
static IEnumerable< TResult > SelectManyIterator< TSource, TCollection, TResult >(IEnumerable< TSource > source, Func< TSource, int, IEnumerable< TCollection > > collectionSelector, Func< TSource, TCollection, TResult > resultSelector)
static ? float Max(this IEnumerable< float?> source)
static IEnumerable< TResult > SelectIterator< TSource, TResult >(IEnumerable< TSource > source, Func< TSource, int, TResult > selector)
static long LongCount< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TSource > Intersect< TSource >(this IEnumerable< TSource > first, IEnumerable< TSource > second)
static double Sum(this IEnumerable< double > source)
static IEnumerable< TSource > TakeIterator< TSource >(IEnumerable< TSource > source, int count)
static IEnumerable< TSource?> DefaultIfEmpty< TSource >(this IEnumerable< TSource > source)
static ? double Average(this IEnumerable< long?> source)
static IEnumerable< TResult > Zip< TFirst, TSecond, TResult >(this IEnumerable< TFirst > first, IEnumerable< TSecond > second, Func< TFirst, TSecond, TResult > resultSelector)
static TSource TryGetFirst< TSource >(this IEnumerable< TSource > source, out bool found)
static IEnumerable< int > Range(int start, int count)
static TSource Last< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TSource > ExceptIterator< TSource >(IEnumerable< TSource > first, IEnumerable< TSource > second, IEqualityComparer< TSource > comparer)
static IEnumerable< TResult > SelectMany< TSource, TCollection, TResult >(this IEnumerable< TSource > source, Func< TSource, int, IEnumerable< TCollection > > collectionSelector, Func< TSource, TCollection, TResult > resultSelector)
static float Average(this IEnumerable< float > source)
static IEnumerable< TResult > GroupBy< TSource, TKey, TResult >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TKey, IEnumerable< TSource >, TResult > resultSelector)
static IEnumerable< TResult > SelectMany< TSource, TResult >(this IEnumerable< TSource > source, Func< TSource, IEnumerable< TResult > > selector)
static TSource TryGetSingle< TSource >(this IEnumerable< TSource > source, out bool found)
static IEnumerable< TResult > Empty< TResult >()
static IEnumerable< TSource > SkipLast< TSource >(this IEnumerable< TSource > source, int count)
static decimal Average(this IEnumerable< decimal > source)
static bool TryGetElement< TSource >(IEnumerable< TSource > source, int index, [MaybeNullWhen(false)] out TSource element)
static ? float Min(this IEnumerable< float?> source)
static TSource[] ToArray< TSource >(this IEnumerable< TSource > source)
static ? int Max(this IEnumerable< int?> source)
static IEnumerable< TSource > AsEnumerable< TSource >(this IEnumerable< TSource > source)
static ? double Sum(this IEnumerable< double?> source)
static IEnumerable< TSource > Except< TSource >(this IEnumerable< TSource > first, IEnumerable< TSource > second)
static ? double Average(this IEnumerable< int?> source)
static bool TryGetElementFromEnd< TSource >(IEnumerable< TSource > source, int indexFromEnd, [MaybeNullWhen(false)] out TSource element)
static IEnumerable< TSource > TakeWhileIterator< TSource >(IEnumerable< TSource > source, Func< TSource, bool > predicate)
static IEnumerable< TResult > SelectManyIterator< TSource, TResult >(IEnumerable< TSource > source, Func< TSource, int, IEnumerable< TResult > > selector)
static List< TSource > HashSetToList< TSource >(HashSet< TSource > set)
static bool All< TSource >(this IEnumerable< TSource > source, Func< TSource, bool > predicate)
static decimal Max(this IEnumerable< decimal > source)
static IEnumerable< TSource[]> ChunkIterator< TSource >(IEnumerable< TSource > source, int size)
static ILookup< TKey, TSource > ToLookup< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static ? TSource FirstOrDefault< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TResult > Cast< TResult >(this IEnumerable source)
static ? int Sum(this IEnumerable< int?> source)
static ? TSource SingleOrDefault< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TResult > Repeat< TResult >(TResult element, int count)
static double Average(this IEnumerable< double > source)
static TAccumulate Aggregate< TSource, TAccumulate >(this IEnumerable< TSource > source, TAccumulate seed, Func< TAccumulate, TSource, TAccumulate > func)
static IEnumerable< TSource > Reverse< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TResult > OfTypeIterator< TResult >(IEnumerable source)
static decimal Sum(this IEnumerable< decimal > source)
static IEnumerable< TSource > SkipIterator< TSource >(IEnumerable< TSource > source, int count)
static double Min(this IEnumerable< double > source)
static IEnumerable< TResult > Select< TSource, TResult >(this IEnumerable< TSource > source, Func< TSource, TResult > selector)
static IEnumerable< TSource > Union< TSource >(this IEnumerable< TSource > first, IEnumerable< TSource > second)
static IEnumerable< TSource > Where< TSource >(this IEnumerable< TSource > source, Func< TSource, bool > predicate)
static ? TSource MaxBy< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static long Max(this IEnumerable< long > source)
static ? double Max(this IEnumerable< double?> source)
static HashSet< TSource > ToHashSet< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TSource > TakeRangeFromEndIterator< TSource >(IEnumerable< TSource > source, bool isStartIndexFromEnd, int startIndex, bool isEndIndexFromEnd, int endIndex)
static IEnumerable< TSource > DistinctBy< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static long Min(this IEnumerable< long > source)
static bool SequenceEqual< TSource >(this IEnumerable< TSource > first, IEnumerable< TSource > second)
static TSource TryGetLast< TSource >(this IEnumerable< TSource > source, out bool found)
static IOrderedEnumerable< TSource > OrderByDescending< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static ? TSource Min< TSource >(this IEnumerable< TSource > source)
static TSource First< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TResult > CastIterator< TResult >(IEnumerable source)
static ? decimal Min(this IEnumerable< decimal?> source)
static IEnumerable< TSource > Prepend< TSource >(this IEnumerable< TSource > source, TSource element)
static int Count< TSource >(this IEnumerable< TSource > source)
static IEnumerable< TSource > DistinctByIterator< TSource, TKey >(IEnumerable< TSource > source, Func< TSource, TKey > keySelector, IEqualityComparer< TKey > comparer)
static int Min(this IEnumerable< int > source)
static TSource[] HashSetToArray< TSource >(HashSet< TSource > set)
static IEnumerable< TSource > SkipWhileIterator< TSource >(IEnumerable< TSource > source, Func< TSource, bool > predicate)
static int Sum(this IEnumerable< int > source)
static IEnumerable< TSource > ExceptBy< TSource, TKey >(this IEnumerable< TSource > first, IEnumerable< TKey > second, Func< TSource, TKey > keySelector)
static ? TSource ElementAtOrDefault< TSource >(this IEnumerable< TSource > source, int index)
static double Max(this IEnumerable< double > source)
static IEnumerable< TResult > Join< TOuter, TInner, TKey, TResult >(this IEnumerable< TOuter > outer, IEnumerable< TInner > inner, Func< TOuter, TKey > outerKeySelector, Func< TInner, TKey > innerKeySelector, Func< TOuter, TInner, TResult > resultSelector)
static ? decimal Max(this IEnumerable< decimal?> source)
static IEnumerable< TSource > WhereIterator< TSource >(IEnumerable< TSource > source, Func< TSource, int, bool > predicate)
static IEnumerable< TSource > Distinct< TSource >(this IEnumerable< TSource > source)
static IOrderedEnumerable< TSource > ThenBy< TSource, TKey >(this IOrderedEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static IEnumerable< TSource > SkipWhile< TSource >(this IEnumerable< TSource > source, Func< TSource, bool > predicate)
static ? decimal Sum(this IEnumerable< decimal?> source)
static IOrderedEnumerable< TSource > ThenByDescending< TSource, TKey >(this IOrderedEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static float Max(this IEnumerable< float > source)
static IEnumerable< TSource > ExceptByIterator< TSource, TKey >(IEnumerable< TSource > first, IEnumerable< TKey > second, Func< TSource, TKey > keySelector, IEqualityComparer< TKey > comparer)
static IEnumerable< IGrouping< TKey, TElement > > GroupBy< TSource, TKey, TElement >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector, Func< TSource, TElement > elementSelector)
static decimal Min(this IEnumerable< decimal > source)
static IOrderedEnumerable< TSource > OrderBy< TSource, TKey >(this IEnumerable< TSource > source, Func< TSource, TKey > keySelector)
static IEnumerable< TSource > UnionBy< TSource, TKey >(this IEnumerable< TSource > first, IEnumerable< TSource > second, Func< TSource, TKey > keySelector)
static ? TSource Max< TSource >(this IEnumerable< TSource > source)
static bool TryGetNonEnumeratedCount< TSource >(this IEnumerable< TSource > source, out int count)
static IEnumerable< TResult > OfType< TResult >(this IEnumerable source)
static ? TSource LastOrDefault< TSource >(this IEnumerable< TSource > source)
SingleLinkedNode< TSource > Add(TSource item)
SingleLinkedNode< TSource > GetNode(int index)
static void ThrowNoElementsException()
static void ThrowMoreThanOneElementException()
static void ThrowArgumentOutOfRangeException(ExceptionArgument argument)
static void ThrowMoreThanOneMatchException()
static void ThrowArgumentNullException(ExceptionArgument argument)
static void ThrowNotSupportedException()
static void ThrowNoMatchException()
static byte Min(byte val1, byte val2)
static byte Max(byte val1, byte val2)
new IEnumerator< T > GetEnumerator()
IEnumerator GetEnumerator()
IPartition< TElement > Skip(int count)
IPartition< TElement > Take(int count)
TElement TryGetElementAt(int index, out bool found)
TElement TryGetLast(out bool found)
TElement TryGetFirst(out bool found)