The String.Equals() method in C# is primarily used to compare two strings, it returns a boolean value true if the strings matches, and false if they don’t match.

In this blog, we’ll explore String.Equals() in-depth to help you make a correct decision in your C# programming.

Usage of String.Equals() in C#:

The String.Equals() is a method provided by the System.String class, it checks if two strings have the same content and returns a boolean value, it returns true if they are equal, false if they are not, here’s the basic syntax:

bool bStringEqual = string.Equals(inputStr1, inputStr2);

Here’s what each part does:

    • inputStr1 is the first string you want to compare.
    • inputStr2 is the second string you want to compare.
    • bStringEqual is a boolean variable that stores the outcome of the comparison. It will be true if the strings are equal and false otherwise.
Example 1: Usage of string.Equals():

In this case both of the string “Hello World” and “Hello World” considered as equal.

String_Equal_Sample_1.0
String_Equal_Sample_1.0

Key points of String.Equals() method:

Following are some key points of String.Equals() method.

    • String.Equals() method performs a case-sensitive comparison by default. To perform a case-insensitive comparison, you must use the StringComparison enumeration as an argument:
    • By default, String.Equals() considers cultural or linguistic differences while performing the comparison.
    • It allows Null Safe comparisons between two stings.

Case-Sensitive Comparison of String.Equals():

By default, String.Equals() performs a case-sensitive comparison. This means that it considers the case of characters when determining equality. Let’s take an example.

Example 2: Case-Sensitive comparison of string.Equals() method:

In this example, the variable areStringEqual will be false because the comparison is case-sensitive, hence “Elephant” and “elephant” are treated as different strings.

String_Equal_Sample_2.0
String_Equal_Sample_2.0

However, to perform a case-insensitive comparison, we can use StringComparison.OrdinalIgnoreCase enumeration as an argument as follows.

Example 3: Case-insensitive comparison of string.Equals() method:

In this example,

  • The output of areStringEqual will be True because we have used StringComparison.OrdinalIgnoreCase enumeration as an argument, which ignores the case-sensitive comparison, in this case both “Elephant” and “elephant” are treated as same strings.
String_Equal_Case_Sensitive_Comparison_Sample_3.0
String_Equal_Case_Sensitive_Comparison_Sample_3.0

Cultural Comparison using String.Equals():

String.Equals() also considers cultural or linguistic differences by default. This means that it uses culture-specific rules for comparison. For instance:


In this case, areStringEqual will be false because the default comparison considers the cultural difference between “Héllo World” (with an accent é) and “Hello World” (without an accent).

String_Equal_Culture_Check_Sample_4.0
String_Equal_Culture_Check_Sample_4.0

Null-Safe Comparison of String.Equals() in C#:

You can safely use String.Equal() to compare a string with another string which might be null , it doesn’t throw any null reference error while doing the comparison.


Here, String.Equals() gracefully handles the comparison and returns false when comparing one string with the other one which is null.

Conclusion:

In summary, you should choose the String.Equals() method in C# when you need a simple, efficient, and customizable way to compare strings, whether it’s for exact case-sensitive comparisons, explicit case-insensitive checks, or null safe comparison.

Thanks for visiting 🙂 please look at some of other blogs on similar topics Usage of String.Split() method in C#