c# - C# 中的通用范围验证

标签 c# generics compare range

我想要一个验证数字的通用范围验证器(不是 aspnet 控件)。

T m_min;
T m_max;

bool Validate<T>(T obj)
{
    if (m_min > obj || obj > m_max)

我猜 .CompareTo 是我最好的选择,用 IComparable 限制 T

这会按预期工作还是有任何问题?

“CompareTo”给我的感觉不如“operator >”。 :)

最佳答案

将您的泛型类型限制为 IComparable 并使用 CompareTo() 是执行您需要的操作的正确方法。

关于c# - C# 中的通用范围验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5596176/

相关文章:

java - 如何避免在子类中强制转换父级字段

c# - 向下转换泛型参数时如何修复转换错误

java - 不能将 A[T] 隐式转换为 AT,其中 A[T] 扩展 AT

javascript - 定义替换/更改字符串的位置时出现异常字符

java - Java 中整数数组的排序和比较

c# - Docker-Compose YML 与 ASP.NET Core 2.2 Web API 和 SQL Server 2017

c# - 使用递归创建 (Lambda) 表达式

java - 比较两个圆类型的对象

c# - 如何在 C# 中使用 Selenium WebDriver 下载图像

c# - 我可以使用 DataAdapter C# 填充列表吗