Преобразование в varbinary, по-видимому, должно приводить к сравнению с регистром. Если это единственная проблема, то да, два утверждения эквивалентны.
Сравнение строк по умолчанию будет чувствительным к регистру. Однако сравнение строк по умолчанию будет использовать текущую информацию о культуре и может обрабатывать некоторые строки по-разному в зависимости от культуры. Если это является проблемой для вашего приложения, вы можете вместо этого использовать сравнительное сравнение, которое даст точно такие же результаты, как и varbinary cast.
if (String.Compare(var1, var2, StringComparison.Ordinal) > 0)
{
}
Вы имеете в виду чувствительный к регистру, нечувствительный? Разве varbinary не является blob-типом, чтобы он ничего не мог понять о содержимом? Разве это не сравнение байтов в основном? –
@ Lasse V. karlsen, вы правы, у меня было несколько несоответствий в моем ответе. Исправлено сейчас. –