private static RelationType GetRelationType(string text, out string leftString, out string rightString, out string err) { err = null; leftString = null; rightString = null; int[] inds = StringUtils.AllIndicesOf(text, "!="); if (inds.Length > 1) { err = "Multiple != signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 2, out leftString, out rightString); return(RelationType.NotEqual); } inds = StringUtils.AllIndicesOf(text, "=="); if (inds.Length > 1) { err = "Multiple == signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 2, out leftString, out rightString); return(RelationType.Equal); } inds = StringUtils.AllIndicesOf(text, ">="); if (inds.Length > 1) { err = "Multiple >= signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 2, out leftString, out rightString); return(RelationType.GreaterEqual); } inds = StringUtils.AllIndicesOf(text, "<="); if (inds.Length > 1) { err = "Multiple <= signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 2, out leftString, out rightString); return(RelationType.LessEqual); } inds = StringUtils.AllIndicesOf(text, "="); if (inds.Length > 1) { err = "Multiple = signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 1, out leftString, out rightString); return(RelationType.Equal); } inds = StringUtils.AllIndicesOf(text, ">"); if (inds.Length > 1) { err = "Multiple > signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 1, out leftString, out rightString); return(RelationType.Greater); } inds = StringUtils.AllIndicesOf(text, "<"); if (inds.Length > 1) { err = "Multiple < signs."; return(RelationType.Unknown); } if (inds.Length == 1) { Extract(text, inds[0], 1, out leftString, out rightString); return(RelationType.Less); } err = "No valid operator."; return(RelationType.Unknown); }