Updated: November 2007
Determines whether two specified String objects have the same value.
Public Shared Function Equals ( _ a As String, _ b As String _ ) As Boolean
Dim a As String Dim b As String Dim returnValue As Boolean returnValue = String.Equals(a, b)
public static bool Equals( string a, string b )
public: static bool Equals( String^ a, String^ b )
public static boolean Equals( String a, String b )
public static function Equals( a : String, b : String ) : boolean
A String or nullNothingnullptra null reference (Nothing in Visual Basic).
true if the value of a is the same as the value of b; otherwise, false.
This method performs an ordinal (case-sensitive and culture-insensitive) comparison.
The following code example demonstrates the Equals method.
' 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 '
// 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 */
// Sample for String::Equals(Object) // String::Equals(String) // String::Equals(String, String) using namespace System; using namespace System::Text; int main() { StringBuilder^ sb = gcnew StringBuilder( "abcd" ); String^ str1 = "abcd"; String^ str2 = nullptr; Object^ o2 = nullptr; Console::WriteLine(); Console::WriteLine( " * The value of String str1 is '{0}'.", str1 ); Console::WriteLine( " * The value of StringBuilder sb is '{0}'.", sb ); 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 */
// Sample for String.Equals(Object) // String.Equals(String) // String.Equals(String, String) import System.*; import System.Text.*; class Sample { public static void main(String[] args) { 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}", System.Convert.ToString(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}", System.Convert.ToString(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}", System.Convert.ToString(str1.Equals(str2))); Console.WriteLine(); Console.WriteLine(" 3) String.Equals(String, String)"); Console.WriteLine(" Is str1 equal to str2?: {0}", System.Convert.ToString(String.Equals(str1, str2))); } //main } //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 */
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360
The String.Equals method will return true when both arguments are null.An empty string ("") is not the same value as null. To perform a comparison where empty strings and null references are considered equal, you can use the null coalescing operator in C# 2.0 and later, as in the following code example.
string.Equals(str1 ?? "", str2 ?? "")