JetBrains Rider 2024.2 Help

Code inspection: String.Compare is culture-specific (string.Compare(string, int, string, int, bool) is culture-specific)

Similarly to the Specify a culture in string conversion explicitly, this inspection helps to avoid problems with running your code on machines with different culture settings.

When strings are compared using String.Compare, comparison results may differ depending on the machine's locale. The canonical example is the Turkish where there is a lowercase dotless "ı" with the corresponding uppercase "I", and a lowercase "i" with an uppercase "İ" with the dot. As a result, your code may return different results on machines with different culture settings.

To resolve this problem, JetBrains Rider suggests adding the culture-invariant StringComparison.Ordinal explicitly to the method call.

Last modified: 08 October 2024