【C#】IComparable拡張 - とある値が範囲内にあるか調べる
拡張シリーズ!
他のは大体晒したかな?
using System; /// <summary> /// IComparable拡張 /// </summary> public static class IComparableExtensions { /// <summary> /// 指定された値がmin以上、max以下かどうか /// </summary> /// <typeparam name="T">型</typeparam> /// <param name="value">値</param> /// <param name="min">最小値</param> /// <param name="max">最大値</param> /// <returns></returns> public static bool IsInclusive<T>(this T value, T min, T max) where T : IComparable<T> { return value.CompareTo(min) >= 0 && value.CompareTo(max) <= 0; } /// <summary> /// 指定された値がminより大きく、maxより小さいかどうか /// </summary> /// <typeparam name="T">型</typeparam> /// <param name="value">値</param> /// <param name="min">最小値</param> /// <param name="max">最大値</param> /// <returns></returns> public static bool IsExclusive<T>(this T value, T min, T max) where T : IComparable<T> { return value.CompareTo(min) > 0 && value.CompareTo(max) < 0; } }