Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Aggregate()

bool System.Linq.Parallel.ElementAtQueryOperator< TSource >.Aggregate ( [MaybeNullWhen(false)] out TSource result,
bool withDefaultValue )
inlinepackage

Definition at line 100 of file ElementAtQueryOperator.cs.

101 {
102 if (LimitsParallelism && base.SpecifiedQuerySettings.WithDefaults().ExecutionMode.Value != ParallelExecutionMode.ForceParallelism)
103 {
104 CancellationState cancellationState = base.SpecifiedQuerySettings.CancellationState;
106 {
107 IEnumerable<TSource> source = base.Child.AsSequentialQuery(cancellationState.ExternalCancellationToken);
108 IEnumerable<TSource> source2 = CancellableEnumerable.Wrap(source, cancellationState.ExternalCancellationToken);
109 result = ExceptionAggregator.WrapEnumerable(source2, cancellationState).ElementAtOrDefault(_index);
110 }
111 else
112 {
113 IEnumerable<TSource> source3 = base.Child.AsSequentialQuery(cancellationState.ExternalCancellationToken);
114 IEnumerable<TSource> source4 = CancellableEnumerable.Wrap(source3, cancellationState.ExternalCancellationToken);
115 result = ExceptionAggregator.WrapEnumerable(source4, cancellationState).ElementAt(_index);
116 }
117 return true;
118 }
119 using (IEnumerator<TSource> enumerator = GetEnumerator(ParallelMergeOptions.FullyBuffered))
120 {
121 if (enumerator.MoveNext())
122 {
123 TSource current = enumerator.Current;
124 result = current;
125 return true;
126 }
127 }
128 result = default(TSource);
129 return false;
130 }

References System.Linq.Parallel.ElementAtQueryOperator< TSource >._index, System.Linq.Parallel.ElementAtQueryOperator< TSource >.LimitsParallelism, and System.Linq.source.