当前位置: 首页>>代码示例>>用法及示例精选>>正文


C# - Type.Equals()用法及代码示例

Type.Equals()方法用于检查当前Type的基础系统类型是否与指定的Object或Type的基础系统类型相同。此方法的重载列表中有2种方法,如下所示:

    • Equals(Type)方法
    • Equals(Object)方法

Type.Equals(Type) Method

此方法用于检查当前Type的基础系统类型是否与指定Type的基础系统类型相同。


用法: 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.

返回值:如果o的基础系统类型与当前Type的基础系统类型相同,则此方法返回true,否则返回false。

以下示例程序旨在说明Type.Equals()方法的使用:

示例1:

// C# program to demonstrate the 
// Type.Equals(Type) Method 
using System; 
using System.Globalization; 
  
class GFG { 
  
    // Main Method 
    public static void Main() 
    { 
        // Declaring and initializing value1 
        Type value1 = typeof(System.String); 
  
        // Declaring and initializing value2 
        Type value2 = typeof(System.Int32); 
  
        // using Equals(Type) method 
        bool status = value1.Equals(value2); 
  
        // checking the status 
        if (status) 
            Console.WriteLine("{0} is equal to {1}", 
                                    value1, value2); 
        else
            Console.WriteLine("{0} is not equal to {1}", 
                                        value1, value2); 
    } 
}
输出:
System.String is not equal to System.Int32

示例2:

// C# program to demonstrate the 
// Type.Equals(Type) Method 
using System; 
using System.Globalization; 
  
class GFG { 
  
    // Main Method 
    public static void Main() 
    { 
  
        // calling get() method 
        get(typeof(System.String), typeof(System.String)); 
        get(typeof(System.String), typeof(System.Int32)); 
        get(typeof(System.Decimal), typeof(System.Double)); 
    } 
  
    // defining get() method 
    public static void get(Type value1, 
                           Type value2) 
    { 
  
        // using Equals(Type) method 
        bool status = value1.Equals(value2); 
  
        // checking the status 
        if (status) 
            Console.WriteLine("{0} is equal to {1}", 
                                    value1, value2); 
        else
            Console.WriteLine("{0} is not equal to {1}", 
                                        value1, value2); 
    } 
}
输出:
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

此方法用于检查当前定义的Type对象的基础系统类型是否与指定Object的基础系统类型完全相同。

用法: 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.

返回值:如果obj的基础系统类型与当前Type的基础系统类型相同,则此方法返回true,否则返回false。如果obj为null或无法强制转换或转换为Type对象,则此方法还返回false。


以下示例程序旨在说明上述方法的用法:

示例1:

// C# program to demonstrate the 
// Type.Equals(Object) Method 
using System; 
using System.Globalization; 
  
class GFG { 
  
    // Main Method 
    public static void Main() 
    { 
        // Declaring and initializing value1 
        Type value1 = typeof(int); 
  
        // Declaring and initializing value2 
        object value2 = typeof(int); 
  
        // using Equals(Object) method 
        bool status = value1.Equals(value2); 
  
        // checking the status 
        if (status) 
            Console.WriteLine("{0} is equal to {1}", 
                                    value1, value2); 
        else
            Console.WriteLine("{0} is not equal to {1}", 
                                        value1, value2); 
    } 
}
输出:
System.Int32 is equal to System.Int32

示例2:

// C# program to demonstrate the 
// Type.Equals(Object) Method 
using System; 
using System.Globalization; 
  
class GFG { 
  
    // Main Method 
    public static void Main() 
    { 
        // calling get() method 
        get(typeof(int), new Object()); 
        get(typeof(System.String), (object)5.5); 
        get(typeof(System.String), null); 
    } 
  
    // defining get() method 
    public static void get(Type value1, 
                           object value2) 
    { 
  
        // using Equals(Object) method 
        bool status = value1.Equals(value2); 
  
        // checking the status 
        if (status) 
            Console.WriteLine("{0} is equal to {1}", 
                                    value1, value2); 
        else
            Console.WriteLine("{0} is not equal to {1}", 
                                        value1, value2); 
    } 
}
输出:
System.Int32 is not equal to System.Object
System.String is not equal to 5.5
System.String is not equal to

参考:



相关用法

注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 C# | Type.Equals() Method。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。