Type.Equals() Method is used to check whether the underlying system type of the current Type is the same as the underlying system type of the specified Object or Type. There are 2 methods in the overload list of this method as follows:
- Equals(Type) Method
- Equals(Object) Method
Type.Equals(Type) Method
This method is used to check whether the underlying system type of the current Type is the same as the underlying system type of the specified Type.
Syntax: public virtual bool Equals (Type o);
Here, it takes the object whose underlying system type is to be compared with the underlying system type of the current Type.
Return Value: This method returns true if the underlying system type of o is the same as the underlying system type of the current Type otherwise, it returns false.
Below programs illustrate the use of Type.Equals() Method:
Example 1:
using System;
using System.Globalization;
class GFG {
public static void Main()
{
Type value1 = typeof (System.String);
Type value2 = typeof (System.Int32);
bool status = value1.Equals(value2);
if (status)
Console.WriteLine( "{0} is equal to {1}" ,
value1, value2);
else
Console.WriteLine( "{0} is not equal to {1}" ,
value1, value2);
}
}
|
Output:
System.String is not equal to System.Int32
Example 2:
using System;
using System.Globalization;
class GFG {
public static void Main()
{
get ( typeof (System.String), typeof (System.String));
get ( typeof (System.String), typeof (System.Int32));
get ( typeof (System.Decimal), typeof (System.Double));
}
public static void get (Type value1,
Type value2)
{
bool status = value1.Equals(value2);
if (status)
Console.WriteLine( "{0} is equal to {1}" ,
value1, value2);
else
Console.WriteLine( "{0} is not equal to {1}" ,
value1, value2);
}
}
|
Output:
System.String is equal to System.String
System.String is not equal to System.Int32
System.Decimal is not equal to System.Double
Type.Equals(Object) Method
This method is used to check whether the underlying system type of the current defined Type object is exactly same as the underlying system type of the specified Object.
Syntax: public override bool Equals (object obj);
Here, it takes the object whose underlying system type is to be compared with the underlying system type of the current Type. For the comparison to succeed, obj must be able to be cast or converted to an object of type Type.
Return Value: This method returns true if the underlying system type of obj is the same as the underlying system type of the current Type otherwise, it returns false. This method also returns false if obj is null or cannot be cast or converted to a Type object.
Below programs illustrate the use of the above-discussed method:
Example 1:
using System;
using System.Globalization;
class GFG {
public static void Main()
{
Type value1 = typeof ( int );
object value2 = typeof ( int );
bool status = value1.Equals(value2);
if (status)
Console.WriteLine( "{0} is equal to {1}" ,
value1, value2);
else
Console.WriteLine( "{0} is not equal to {1}" ,
value1, value2);
}
}
|
Output:
System.Int32 is equal to System.Int32
Example 2:
using System;
using System.Globalization;
class GFG {
public static void Main()
{
get ( typeof ( int ), new Object());
get ( typeof (System.String), ( object )5.5);
get ( typeof (System.String), null );
}
public static void get (Type value1,
object value2)
{
bool status = value1.Equals(value2);
if (status)
Console.WriteLine( "{0} is equal to {1}" ,
value1, value2);
else
Console.WriteLine( "{0} is not equal to {1}" ,
value1, value2);
}
}
|
Output:
System.Int32 is not equal to System.Object
System.String is not equal to 5.5
System.String is not equal to
Reference:
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!