c# - 检查数字是否在范围内的最快方法
问题描述
除了检查数字是否在范围内之外,最简单的方法是什么
if (Enumerable.Range(1,100).Contains(number))
//true
if (x >= 1 && x <= 100)
//true
这些方法?也许更有效的东西?
解决方案
没有什么比第二种选择更有效了。你可以写一个扩展:
public static class NumberExtensions
{
public static bool IsWithinRange<T>(this T number, T rangeStart, T rangeEnd) where T : IComparable<T>
{
return number.CompareTo(rangeStart) >= 0 && number.CompareTo(rangeEnd) <= 0;
}
}
现在代码可读且高效:
if (x.IsWithinRange(1, 100))
{
}
推荐阅读
- ruby-on-rails - 需要实现#cache!如果你想使用 Cloudinary::CarrierWave::Storage 作为缓存存储
- wordpress - 有没有可以使用Repeater的Advance Custom Field Free版本的替代品?
- android - 在这里直接下载一个国家的地图(不选择它)
- postgresql - pg_dumpall > alldb.sql 输出 bash: alldb.sql: Permission denied
- javascript - 为什么switch语句没有输出?
- java - 从一系列分页网络调用生成 Spring Flux
- android - 如何在 Google Play 控制台中为应用程序签名退出 .aab 文件
- react-native - 如何在 React Native 中制作简单的音频播放器
- ansible - 远程主机上的 ansible-pull
- node.js - 模板引擎将我的代码设置到错误的位置。有什么错误?