Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

String.Equals Method

Determines whether two String objects have the same value.

Overload List

Determines whether this instance of String and a specified object, which must be a String, have the same value.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Overrides Public Function Equals(Object) As Boolean
[C#] public override bool Equals(object);
[C++] public: bool Equals(Object*);
[JScript] public override function Equals(Object) : Boolean;

Determines whether this instance and a specified String have the same value.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Function Equals(String) As Boolean
[C#] public bool Equals(string);
[C++] public: bool Equals(String*);
[JScript] public function Equals(String) : Boolean;

Determines whether two specified String objects have the same value.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function Equals(String, String) As Boolean
[C#] public static bool Equals(string, string);
[C++] public: static bool Equals(String*, String*);
[JScript] public static function Equals(String, String) : Boolean;

Example

[Visual Basic, C#, C++] Note   This example shows how to use one of the overloaded versions of Equals. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
' Sample for String.Equals(Object)
'            String.Equals(String)
'            String.Equals(String, String)
Imports System
Imports System.Text

Class Sample
   Public Shared Sub Main()
      Dim sb As New StringBuilder("abcd")
      Dim str1 As [String] = "abcd"
      Dim str2 As [String] = Nothing
      Dim o2 As [Object] = Nothing
      
      Console.WriteLine()
      Console.WriteLine(" *  The value of String str1 is '{0}'.", str1)
      Console.WriteLine(" *  The value of StringBuilder sb is '{0}'.", sb.ToString())
      
      Console.WriteLine()
      Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.")
      Console.WriteLine("    Is str1 equal to sb?: {0}", str1.Equals(sb))
      
      Console.WriteLine()
      Console.WriteLine("1b) String.Equals(Object). Object is a String.")
      str2 = sb.ToString()
      o2 = str2
      Console.WriteLine(" *  The value of Object o2 is '{0}'.", o2)
      Console.WriteLine("    Is str1 equal to o2?: {0}", str1.Equals(o2))
      
      Console.WriteLine()
      Console.WriteLine(" 2) String.Equals(String)")
      Console.WriteLine(" *  The value of String str2 is '{0}'.", str2)
      Console.WriteLine("    Is str1 equal to str2?: {0}", str1.Equals(str2))
      
      Console.WriteLine()
      Console.WriteLine(" 3) String.Equals(String, String)")
      Console.WriteLine("    Is str1 equal to str2?: {0}", [String].Equals(str1, str2))
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'
' *  The value of String str1 is 'abcd'.
' *  The value of StringBuilder sb is 'abcd'.
'
'1a) String.Equals(Object). Object is a StringBuilder, not a String.
'    Is str1 equal to sb?: False
'
'1b) String.Equals(Object). Object is a String.
' *  The value of Object o2 is 'abcd'.
'    Is str1 equal to o2?: True
'
' 2) String.Equals(String)
' *  The value of String str2 is 'abcd'.
'    Is str1 equal to str2?: True
'
' 3) String.Equals(String, String)
'    Is str1 equal to str2?: True
'

[C#] 
// Sample for String.Equals(Object)
//            String.Equals(String)
//            String.Equals(String, String)
using System;
using System.Text;

class Sample {
    public static void Main() {
    StringBuilder sb = new StringBuilder("abcd");
    String      str1 = "abcd";
    String      str2 = null;
    Object    o2   = null;

    Console.WriteLine();
    Console.WriteLine(" *  The value of String str1 is '{0}'.", str1);
    Console.WriteLine(" *  The value of StringBuilder sb is '{0}'.", sb.ToString());

    Console.WriteLine();
    Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.");
    Console.WriteLine("    Is str1 equal to sb?: {0}", str1.Equals(sb));

    Console.WriteLine();
    Console.WriteLine("1b) String.Equals(Object). Object is a String.");
    str2 = sb.ToString();
    o2   = str2;
    Console.WriteLine(" *  The value of Object o2 is '{0}'.", o2);
    Console.WriteLine("    Is str1 equal to o2?: {0}", str1.Equals(o2));

    Console.WriteLine();
    Console.WriteLine(" 2) String.Equals(String)");
    Console.WriteLine(" *  The value of String str2 is '{0}'.", str2);
    Console.WriteLine("    Is str1 equal to str2?: {0}", str1.Equals(str2));

    Console.WriteLine();
    Console.WriteLine(" 3) String.Equals(String, String)");
    Console.WriteLine("    Is str1 equal to str2?: {0}", String.Equals(str1, str2));
    }
}
/*
This example produces the following results:

 *  The value of String str1 is 'abcd'.
 *  The value of StringBuilder sb is 'abcd'.

1a) String.Equals(Object). Object is a StringBuilder, not a String.
    Is str1 equal to sb?: False

1b) String.Equals(Object). Object is a String.
 *  The value of Object o2 is 'abcd'.
    Is str1 equal to o2?: True

 2) String.Equals(String)
 *  The value of String str2 is 'abcd'.
    Is str1 equal to str2?: True

 3) String.Equals(String, String)
    Is str1 equal to str2?: True
*/

[C++] 
// Sample for String::Equals(Object)
//            String::Equals(String)
//            String::Equals(String, String)
#using <mscorlib.dll>

using namespace System;
using namespace System::Text;

int main() {
    StringBuilder* sb = new StringBuilder(S"abcd");
    String* str1 = S"abcd";
    String* str2 = 0;
    Object* o2 = 0;

    Console::WriteLine();
    Console::WriteLine(S" *  The value of String str1 is '{0}'.", str1);
    Console::WriteLine(S" *  The value of StringBuilder sb is '{0}'.", sb);

    Console::WriteLine();
    Console::WriteLine(S"1a) String::Equals(Object). Object is a StringBuilder, not a String.");
    Console::WriteLine(S"    Is str1 equal to sb?: {0}", __box(str1->Equals(sb)));

    Console::WriteLine();
    Console::WriteLine(S"1b) String::Equals(Object). Object is a String.");
    str2 = sb->ToString();
    o2   = str2;
    Console::WriteLine(S" *  The value of Object o2 is '{0}'.", o2);
    Console::WriteLine(S"    Is str1 equal to o2?: {0}", __box(str1->Equals(o2)));

    Console::WriteLine();
    Console::WriteLine(S" 2) String::Equals(String)");
    Console::WriteLine(S" *  The value of String str2 is '{0}'.", str2);
    Console::WriteLine(S"    Is str1 equal to str2?: {0}", __box(str1->Equals(str2)));

    Console::WriteLine();
    Console::WriteLine(S" 3) String::Equals(String, String)");
    Console::WriteLine(S"    Is str1 equal to str2?: {0}", __box(String::Equals(str1, str2)));
}
/*
This example produces the following results:

 *  The value of String str1 is 'abcd'.
 *  The value of StringBuilder sb is 'abcd'.

1a) String::Equals(Object). Object is a StringBuilder, not a String.
    Is str1 equal to sb?: False

1b) String::Equals(Object). Object is a String.
 *  The value of Object o2 is 'abcd'.
    Is str1 equal to o2?: True

 2) String::Equals(String)
 *  The value of String str2 is 'abcd'.
    Is str1 equal to str2?: True

 3) String::Equals(String, String)
    Is str1 equal to str2?: True
*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

String Class | String Members | System Namespace

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft