1

我试图找出这个 SQL 的等效 C#:

@var1 = "1a1"
@var2 = "1F"
CONVERT(varbinary, @var1) > CONVERT(varbinary, @var2)

和这个一样吗?

if (var1.CompareTo(var2) > 0)
{

}

如果没有,那我该如何模拟呢?

4

1 回答 1

0

转换为 varbinary 大概是为了强制进行区分大小写的比较。如果这是唯一的问题,那么是的,这两个陈述是等价的。

默认字符串比较将区分大小写。但是,默认字符串比较将使用当前的文化信息,并且可能会根据文化对某些字符串进行不同的处理。如果这对您的应用程序来说是一个问题,那么您可以使用序号比较来代替,这将产生与 varbinary 强制转换完全相同的结果。

if (String.Compare(var1, var2, StringComparison.Ordinal) > 0)
{

}
于 2010-01-22T03:29:20.940 回答