private static int StringCompare(SqlString x, SqlString y)
{
if ((x.m_lcid != y.m_lcid) || (x.m_flag != y.m_flag))
{
throw new SqlTypeException(SQLResource.CompareDiffCollationMessage);
}
x.SetCompareInfo();
y.SetCompareInfo();
if ((x.m_flag & System.Data.SqlTypes.SqlCompareOptions.BinarySort) != System.Data.SqlTypes.SqlCompareOptions.None)
{
return(CompareBinary(x, y));
}
if ((x.m_flag & System.Data.SqlTypes.SqlCompareOptions.BinarySort2) != System.Data.SqlTypes.SqlCompareOptions.None)
{
return(CompareBinary2(x, y));
}
char[] chArray2 = x.m_value.ToCharArray();
char[] chArray = y.m_value.ToCharArray();
int length = chArray2.Length;
int num = chArray.Length;
while ((length > 0) && (chArray2[length - 1] == ' '))
{
length--;
}
while ((num > 0) && (chArray[num - 1] == ' '))
{
num--;
}
CompareOptions options = CompareOptionsFromSqlCompareOptions(x.m_flag);
return(x.m_cmpInfo.Compare(x.m_value, 0, length, y.m_value, 0, num, options));
}