【问题标题】:Does anyone know of a .NET enum of Comparison Operators in System or System.Core?有人知道 System 或 System.Core 中比较运算符的 .NET 枚举吗?
【发布时间】:2011-08-14 19:16:52
【问题描述】:

System 或 System.Core 中是否有一个枚举包含所有的 ComparisonOperator?

我刚刚编写了以下枚举,但它似乎是一件很常见的事情,可能已经存在。

public enum ComparisonPredicate
{
    Equal,
    Unequal,
    LessThan,
    LessThanOrEqualTo,
    GreaterThan,
    GreaterThanOrEqualTo
}

我在 System.Web.UI 中找到了一个,但是为该 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationcompareoperator(v=VS.100).aspx 引入一个依赖项会很愚蠢

另外,我已经看过ExpressionType,但我不想要范围那么广的东西

【问题讨论】:

  • 你需要它做什么?
  • 我也想知道你需要这个做什么。枚举将具有整数值。我不明白这有什么用。
  • @Dykam,@Ramhound,我的直接用例是将Comparison<T> 转换为Predicate<T> 的扩展方法
  • 正在找这个,复制了,谢谢

标签: c# .net comparison system comparison-operators


【解决方案1】:

有点晚了,但 .Net 3.5 在System.Linq.Expressions 中引入了ExpressionType 枚举,有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb361179(v=vs.110).aspx

【讨论】:

  • 参见 OP “另外,我已经看过 ExpressionType,但我不想要范围那么广的东西”
【解决方案2】:

AFIK 这样的东西是不存在的。现在,您最好还是使用自己的。

【讨论】:

    【解决方案3】:

    这是 Google 上的最高结果,但是自从我在 2018 年写这篇文章以来,在 .Net 4.5+ 领域,正确答案是:

    Enum.Equals();
    

    docs.microsoft.com/en-us/dotnet/api/system.enum.equals?view=netframework-4.7.2

    【讨论】:

    • 您提供了比较两个枚举的方法。这不是所要求的:原始问题要求包含比较运算符的枚举。
    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 2022-11-11
    相关资源
    最近更新 更多