Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图找出这个 SQL 的等效 C#:
@var1 = "1a1" @var2 = "1F" CONVERT(varbinary, @var1) > CONVERT(varbinary, @var2)
和这个一样吗?
if (var1.CompareTo(var2) > 0) { }
如果没有,那我该如何模拟呢?
转换为 varbinary 大概是为了强制进行区分大小写的比较。如果这是唯一的问题,那么是的,这两个陈述是等价的。
默认字符串比较将区分大小写。但是,默认字符串比较将使用当前的文化信息,并且可能会根据文化对某些字符串进行不同的处理。如果这对您的应用程序来说是一个问题,那么您可以使用序号比较来代替,这将产生与 varbinary 强制转换完全相同的结果。
if (String.Compare(var1, var2, StringComparison.Ordinal) > 0) { }