String.Equals Method (Object)

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overrides Function Equals ( _
    obj As Object _
) As Boolean
public override bool Equals(
    Object obj
)

Parameters

  • obj
    Type: System.Object
    The string to compare to this instance.

Return Value

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

Remarks

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

Examples

The following code example demonstrates the Equals method.

' Sample for String.Equals(Object)
'            String.Equals(String)
'            String.Equals(String, String)
Imports System.Text

Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim sb As New StringBuilder("abcd")
      Dim str1 As [String] = "abcd"
      Dim str2 As [String] = Nothing
      Dim o2 As [Object] = Nothing

      outputBlock.Text &= vbCrLf
      outputBlock.Text += String.Format(" *  The value of String str1 is '{0}'.", str1) & vbCrLf
      outputBlock.Text += String.Format(" *  The value of StringBuilder sb is '{0}'.", sb.ToString()) & vbCrLf

      outputBlock.Text &= vbCrLf
      outputBlock.Text += String.Format("1a) String.Equals(Object). Object is a StringBuilder, not a String.") & vbCrLf
      outputBlock.Text += String.Format("    Is str1 equal to sb?: {0}", str1.Equals(sb)) & vbCrLf

      outputBlock.Text &= vbCrLf
      outputBlock.Text &= "1b) String.Equals(Object). Object is a String." & vbCrLf
      str2 = sb.ToString()
      o2 = str2
      outputBlock.Text += String.Format(" *  The value of Object o2 is '{0}'.", o2) & vbCrLf
      outputBlock.Text += String.Format("    Is str1 equal to o2?: {0}", str1.Equals(o2)) & vbCrLf

      outputBlock.Text &= vbCrLf
      outputBlock.Text &= " 2) String.Equals(String)" & vbCrLf
      outputBlock.Text += String.Format(" *  The value of String str2 is '{0}'.", str2) & vbCrLf
      outputBlock.Text += String.Format("    Is str1 equal to str2?: {0}", str1.Equals(str2)) & vbCrLf

      outputBlock.Text &= vbCrLf
      outputBlock.Text += String.Format(" 3) String.Equals(String, String)") & vbCrLf
      outputBlock.Text += String.Format("    Is str1 equal to str2?: {0}", [String].Equals(str1, str2)) & vbCrLf
   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
'
// Sample for String.Equals(Object)
//            String.Equals(String)
//            String.Equals(String, String)
using System;
using System.Text;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      StringBuilder sb = new StringBuilder("abcd");
      String str1 = "abcd";
      String str2 = null;
      Object o2 = null;

      outputBlock.Text += "\n";
      outputBlock.Text += String.Format(" *  The value of String str1 is '{0}'.", str1) + "\n";
      outputBlock.Text += String.Format(" *  The value of StringBuilder sb is '{0}'.", sb.ToString()) + "\n";

      outputBlock.Text += "\n";
      outputBlock.Text += String.Format("1a) String.Equals(Object). Object is a StringBuilder, not a String.") + "\n";
      outputBlock.Text += String.Format("    Is str1 equal to sb?: {0}", str1.Equals(sb)) + "\n";

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

      outputBlock.Text += "\n";
      outputBlock.Text += " 2) String.Equals(String)" + "\n";
      outputBlock.Text += String.Format(" *  The value of String str2 is '{0}'.", str2) + "\n";
      outputBlock.Text += String.Format("    Is str1 equal to str2?: {0}", str1.Equals(str2)) + "\n";

      outputBlock.Text += "\n";
      outputBlock.Text += String.Format(" 3) String.Equals(String, String)") + "\n";
      outputBlock.Text += String.Format("    Is str1 equal to str2?: {0}", String.Equals(str1, str2)) + "\n";
   }
}
/*
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
*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.