/// <summary> /// 检测当前的32位整数是否处于指定的范围内 /// </summary> /// <param name="number">要检测的32位整数对象</param> /// <param name="min">匹配范围的的起始值</param> /// <param name="max">匹配范围的的最大值</param> /// <param name="mode">指定匹配模式,默认为包含起始值和最大值</param> /// <returns>检测成功返回True,否则返回False</returns> public static bool Range(this int number, int min = int.MinValue, int max = int.MaxValue, NumberRangeMode mode = NumberRangeMode.AllEqual) { int rm = (int)mode; switch (rm) { case 0: return number >= min && number <= max; case 1: return number >= min && number < max; case 2: return number > min && number <= max; case 3: return number > min && number < max; default: return false; } }
/// <summary> /// 检测当前的双精度浮点数是否处于指定的范围内 /// </summary> /// <param name="number">要检测的双精度浮点数对象</param> /// <param name="min">匹配范围的的起始值</param> /// <param name="max">匹配范围的的最大值</param> /// <param name="mode">指定匹配模式,默认为包含起始值和最大值</param> /// <returns>检测成功返回True,否则返回False</returns> public static bool Range(this double number, double min = double.MinValue, double max = double.MaxValue, NumberRangeMode mode = NumberRangeMode.AllEqual) { int rm = (int)mode; switch (rm) { case 0: return(number >= min && number <= max); case 1: return(number >= min && number < max); case 2: return(number > min && number <= max); case 3: return(number > min && number < max); default: return(false); } }