public static Bool Compare()

in edge-hub/core/src/Microsoft.Azure.Devices.Routing.Core/query/ComparisonOperators.cs [11:44]


        public static Bool Compare(CompareOp op, string s1, string s2)
        {
            if (!Undefined.IsDefined(s1) || !Undefined.IsDefined(s2) || s1 == null || s2 == null)
            {
                return Bool.Undefined;
            }

            Bool result;
            switch (op)
            {
                case CompareOp.Eq:
                    result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) == 0);
                    break;
                case CompareOp.Ne:
                    result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) != 0);
                    break;
                case CompareOp.Lt:
                    result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) < 0);
                    break;
                case CompareOp.Le:
                    result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) <= 0);
                    break;
                case CompareOp.Gt:
                    result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) > 0);
                    break;
                case CompareOp.Ge:
                    result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) >= 0);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(op), op, null);
            }

            return result;
        }