Interview Questions

How does one compare strings in C#?

C# Interview Questions and Answers


(Continued from previous question...)

6. How does one compare strings in C#?

In the past, you had to call .ToString() on the strings when using the == or != operators to compare the strings’ values. That will still work, but the C# compiler now automatically compares the values instead of the references when the == or != operators are used on string types. If you actually do want to compare references, it can be done as follows: if ((object) str1 == (object) str2) { } Here’s an example showing how string compares work:
using System;

public class StringTest
{
  public static void Main(string[] args)
	{
Object nullObj = null; Object realObj = new StringTest();
		int i = 10;
Console.WriteLine(\"Null Object is [\" + nullObj + \"]\n\"
		+ \"Real Object is [\" + realObj + \"]\n\"
		+ \"i is [\" + i + \"]\n\");
			// Show string equality operators
		string str1 = \"foo\";
		string str2 = \"bar\";
		string str3 = \"bar\";
Console.WriteLine(\"{0} == {1} ? {2}\", str1, str2, str1 == str2 );
Console.WriteLine(\"{0} == {1} ? {2}\", str2, str3, str2 == str3 );
	}
}

      Output:

Null Object is []
Real Object is [StringTest]
i is [10]
foo == bar ? False
bar == bar ? True

(Continued on next question...)

Other Interview Questions