I believe that the answer to your question is technically yes, depending on which overload you call, and which option parameters you pass in.
According to the MSDN docs it is possible to do the comparison with a Culture that has strange rules for ordinal values of characters, or even skips certain characters:
Notes to Callers
Character sets include ignorable characters. The Compare(String,
String) method does not consider such characters when it performs a
culture-sensitive comparison. For example, if the following code is
run on the .NET Framework 4 or later, a culture-sensitive comparison
of "animal" with "ani-mal" (using a soft hyphen, or U+00AD) indicates
that the two strings are equivalent.
If you want to ignore Culture and just compare the raw values of 2 strings, you can call the overload String.Compare(s1, s2, StringComparison.OrdinalIgnoreCase). This should result in essentially a byte-by-byte comparison. Docs:
Notes to Callers ... To
recognize ignorable characters in your comparison, supply a value of
StringComparison.Ordinal or OrdinalIgnoreCase for the comparisonType
parameter.
Note that the definition of "greater" or "lesser" strings is not necessarily obvious. For example, is string "abc" greater or lesser than "abcc"? .NET is pretty clear that it is lesser for the purposes of string comparison. But it's good to read the docs carefully before relying on such edge cases:
The comparison terminates when an inequality is discovered or both
strings have been compared. However, if the two strings compare equal
to the end of one string, and the other string has characters
remaining, the string with remaining characters is considered greater.
The return value is the result of the last comparison performed.