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

◆ Average< TSource >() [4/10]

static ? double System.Linq.Enumerable.Average< TSource > ( this IEnumerable< TSource > source,
Func< TSource, double?> selector )
inlinestatic

Definition at line 4202 of file Enumerable.cs.

4203 {
4204 if (source == null)
4205 {
4206 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source);
4207 }
4208 if (selector == null)
4209 {
4210 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.selector);
4211 }
4213 {
4214 while (enumerator.MoveNext())
4215 {
4216 double? num = selector(enumerator.Current);
4217 if (!num.HasValue)
4218 {
4219 continue;
4220 }
4221 double num2 = num.GetValueOrDefault();
4222 long num3 = 1L;
4223 while (enumerator.MoveNext())
4224 {
4225 num = selector(enumerator.Current);
4226 if (num.HasValue)
4227 {
4228 num2 += num.GetValueOrDefault();
4229 num3 = checked(num3 + 1);
4230 }
4231 }
4232 return num2 / (double)num3;
4233 }
4234 }
4235 return null;
4236 }

References System.Collections.Generic.Dictionary< TKey, TValue >.GetEnumerator(), System.L, System.Linq.selector, System.Linq.source, and System.Linq.ThrowHelper.ThrowArgumentNullException().