You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System;
namespace Apewer.Internals {
internal class NumberHelper {
/// <summary>约束值范围,若源值不在范围中,则修改为接近的值。</summary>
public static int RestrictValue(int argOrigin, int argMin, int argMax) { if (argMin > argMax) return argOrigin;
if (argOrigin < argMin) return argMin; if (argOrigin > argMax) return argMax; return argOrigin; }
/// <summary>约束值范围,若源值不在范围中,则修改为接近的值。</summary>
public static T RestrictValue<T>(T argOrigin, T argMin, T argMax) where T : IComparable { var origin = argOrigin; var min = argMin; var max = argMax;
try { if (min.CompareTo(max) > 0) return argOrigin;
if (origin.CompareTo(min) < 0) return min; if (origin.CompareTo(max) > 0) return max; return origin; } catch { }
return origin; }
}
}
|