C# String Comparison (Ignore Case)

To compare two strings without considering case sensitivity, you can use methods that support case-insensitive comparisons.

Key Topics

1. Using Equals() with Ignore Case

Example: Case-Insensitive Equality Check

string str1 = "hello";
string str2 = "HELLO";
bool areEqual = string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase);
Console.WriteLine(areEqual);  // Outputs: True

2. Using Compare() with Ignore Case

Example: Case-Insensitive Comparison

string str1 = "Apple";
string str2 = "apple";
int result = string.Compare(str1, str2, true);
Console.WriteLine(result);  // Outputs: 0 (strings are equal ignoring case)

3. Understanding StringComparison Enum

Example: Using Different StringComparison Options

string str1 = "straße";
string str2 = "STRASSE";
bool areEqual = string.Equals(str1, str2, StringComparison.CurrentCultureIgnoreCase);
Console.WriteLine(areEqual);  // Outputs: True in certain cultures

Note: The result may vary depending on the current culture settings.

Key Takeaways

  • Use StringComparison.OrdinalIgnoreCase for case-insensitive comparisons.
  • string.Equals() and string.Compare() methods support case-insensitive options.
  • Be mindful of cultural differences when comparing strings.