What is the difference between these two classes ?
I have used System.StringComparer.OrdinalIgnoreCase() and System.StringComparison.OrdinalIgnoreCase() and both yield the same results. Do they have any difference or they both same ?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
StringCompareris aClasswhich implements comparison interfaces likeIComparer,IEqualityComparer,IComparer<String>, so that it can be used to compare two strings.StringComparisonis simply anEnumthat you can pass in to certain methods to indicate which kind of comparison you want. In that case I suspect the underlying method would use aStringComparerto do the actual comparison.When to use each
String specific methods like String.Equals only accepts a
StringComparisonvalue, so that’s what you would use in this case.You would use a
StringComparerfor methods which take a comparer as a parameter, and are called in a context where strings will be compared. For example, if you had aList<String>, and wanted to Sort that list in a case-insensitive way, you could do: