Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

String.Equals Method (Object)

.NET Framework 1.1

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

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

Parameters

obj
An Object.

Return Value

true if obj is a String and its value is the same as this instance; otherwise, false.

Exceptions

Exception Type Condition
NullReferenceException This instance is a null reference (Nothing in Visual Basic).

Remarks

This method performs an ordinal (case-sensitive and culture-insensitive) comparison.

Example

[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.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

String Class | String Members | System Namespace | String.Equals Overload List | Object | CompareOrdinal

Show:
© 2015 Microsoft