Кто-нибудь знает о .NET enum операторов сравнения в System или System.Core?

#c# #.net #comparison #system #comparison-operators

#c# #.net #сравнение #система #операторы сравнения

Вопрос:

Есть ли перечисление в System или System.Ядро, в котором есть все ComparisonOperators?

Я только что написал следующее перечисление, но оно кажется достаточно распространенным, возможно, оно уже существует.

 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 , но мне не нужно что-то с таким широким охватом

Комментарии:

1. Для чего вам это нужно?

2. Мне также интересно, для чего вам это нужно. Перечисление должно иметь целочисленное значение. Я не понимаю, как это может быть полезно.

3. @Dykam, @Ramhound, мой непосредственный вариант использования — это метод расширения, который преобразует Comparison<T> в Predicate<T>

Ответ №1:

Немного поздно, но .Net 3.5 представил ExpressionType перечисление в System.Linq.Expressions , см. http://msdn.microsoft.com/en-us/library/bb361179 (v = против 110).aspx для получения более подробной информации.

Комментарии:

1. смотрите OP «Кроме того, я уже посмотрел на ExpressionType, но я не хочу что-то с такой широкой областью»

Ответ №2:

AFIK такой вещи не существует. Вам, вероятно, лучше пока использовать свои собственные.

Ответ №3:

Это лучший результат в Google, однако, поскольку я пишу это в 2018 году и в области .Net 4.5 , правильный ответ:

 Enum.Equals();
  

Смотрите learn.microsoft.com/en-us/dotnet/api/system.enum.equals?view=netframework-4.7.2

Комментарии:

1. Вы предоставляете метод для сравнения двух перечислений. Это не то, что задается: в исходном вопросе запрашивается перечисление, содержащее операторы сравнения.