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

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

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

Definition at line 4077 of file Enumerable.cs.

4078 {
4079 if (source == null)
4080 {
4081 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source);
4082 }
4083 if (selector == null)
4084 {
4085 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.selector);
4086 }
4087 checked
4088 {
4090 {
4091 while (enumerator.MoveNext())
4092 {
4093 long? num = selector(enumerator.Current);
4094 if (!num.HasValue)
4095 {
4096 continue;
4097 }
4098 long num2 = num.GetValueOrDefault();
4099 long num3 = 1L;
4100 while (enumerator.MoveNext())
4101 {
4102 num = selector(enumerator.Current);
4103 if (num.HasValue)
4104 {
4105 num2 += num.GetValueOrDefault();
4106 num3++;
4107 }
4108 }
4109 return (double)num2 / (double)num3;
4110 }
4111 }
4112 return null;
4113 }
4114 }

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