From their brief summary descriptions, it sounds like the string comparison rules StringComparison.Ordinal
and StringComparison.InvariantCulture
ar
For the extra credit question
Comparison confusion: INVARIANT vs. ORDINAL
... the notion of an Ordinal sort was added and an Ordinal member was added to the CompareOptions enumeration. Selecting it would ignore all of those cultural collation features and give you a binary sort that would also, incidentally, not vary.
string comparison InvariantCultureIgnoreCase vs OrdinalIgnoreCase?
C#: String comparison guidelines and common usage
The recommendation states that for culture-agnostic comparisons use the Ordinal and OrdinalIgnoreCase comparisons. These are fast and also safe. They rely on byte matching and are excellent options for matching strings for internal (non-UI) processing.