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

Showing Answers 1 - 4 of 4 Answers

Ans:

The .NET Framework provides several methods to compare the values of strings.

i am giving few methods name

  • Lists of method
  • String.Compare:Compares the values of two strings. Returns an integer value.
  • String.CompareOrdinal:Compares two strings without regard to local culture. Returns an integer value.
  • String.CompareTo:Compares the current string object to another string. Returns an integer value
  • String.Equals:Determines whether two strings are the same. Returns a Boolean value.
  • String.IndexOf:Returns the index position of a character or string, starting from the beginning of the string you are examining. Returns an integer value.
  • String.LastIndexOf:Returns the index position of a character or string, starting from the end of the string you are examining. Returns an integer value.

Rana

  • May 23rd, 2007
 

You can use a.Equals(b) to compare and return a bool value where both a and b are strings.

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions