所有人的好日子;) 任何人都可以帮我找到算法或已经解决的解决方案来比较像SQL这样的字符串。
例如 在SQL中,我可以比较
的字符串=或< =,>,< e.t.c。
在已知的C#中,我们无法做到。
我想比较像
这样的东西“aa”> “b”“ab”< “aa”“abc”> =“bca”等等......
另外,也许有人知道SQL的逻辑是什么吗?
答案 0 :(得分:7)
字符串实施IComparable,因此您可以使用CompareTo。
void Main()
{
if ("a".CompareTo("b") < 0)
{
Console.WriteLine("A is less than B");
}
if ("a".CompareTo("b") <= 0)
{
Console.WriteLine("A is less than or equal to B");
}
if ("a".CompareTo("a") == 0)
{
Console.WriteLine("A equals A");
}
if ("c".CompareTo("b") > 0)
{
Console.WriteLine("C is greater than B");
}
if ("c".CompareTo("b") >= 0)
{
Console.WriteLine("C is greater than or equal to B");
}
}
但是,如果您需要不区分大小写的比较,那么您将需要使用允许您忽略大小写的string.Compare重载。但逻辑是一样的。
答案 1 :(得分:3)
好吧,"aa" < "ab"
等于
bool result = String.Compare("aa", "ab") < 0;
等等:
// "abc" >= "bca"
bool result = String.Compare("abc", "bca") >= 0;
"left" <=> "right"
的一般模式是
String.Compare("left", "right") <=> 0
因为String.Compare(left, right)
返回
left < right
时,left == right