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

◆ Min< TSource >() [5/12]

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

Definition at line 7018 of file Enumerable.cs.

7019 {
7020 if (source == null)
7021 {
7022 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source);
7023 }
7024 if (selector == null)
7025 {
7026 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.selector);
7027 }
7028 double? result = null;
7029 using IEnumerator<TSource> enumerator = source.GetEnumerator();
7030 while (enumerator.MoveNext())
7031 {
7032 result = selector(enumerator.Current);
7033 if (!result.HasValue)
7034 {
7035 continue;
7036 }
7037 double num = result.GetValueOrDefault();
7038 if (double.IsNaN(num))
7039 {
7040 return result;
7041 }
7042 while (enumerator.MoveNext())
7043 {
7044 double? num2 = selector(enumerator.Current);
7045 if (num2.HasValue)
7046 {
7047 double valueOrDefault = num2.GetValueOrDefault();
7048 if (valueOrDefault < num)
7049 {
7050 num = valueOrDefault;
7051 result = num2;
7052 }
7053 else if (double.IsNaN(valueOrDefault))
7054 {
7055 return num2;
7056 }
7057 }
7058 }
7059 return result;
7060 }
7061 return result;
7062 }

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