C#中每个变量(对象)的Intellisense显示GetHashCode()、ToString()、Equals()、

本文关键字:GetHashCode 显示 ToString Equals Intellisense 变量 对象 | 更新日期: 2023-09-27 18:24:42

在我的C#编程生活中,每当我在编写时在C#中创建一些变量(或对象)时。(点)这个变量(对象)的Intellisense向我展示了标准的4种方法。

例如,我创建了空类SomeClass

public class SomeClass
{
}

当我创建这个类的对象并调用一些方法时,即使这个类是空的,intellisense也会向我显示这4个方法。

static void Main(string[] args)
{
    SomeClass sc = new SomeClass();
       +---------------+
    sc.|Equals         |
       |GetHashCode    |
       |GetType        |
       |ToString       |
       +---------------+
}

有人能解释一下为什么吗?

谢谢。

C#中每个变量(对象)的Intellisense显示GetHashCode()、ToString()、Equals()、

所有类都继承自包含这些方法的System.Object

每个类都隐式继承自Object类和System.Object命名空间。基本上,它是类型层次结构的根。

此外,除了您指出的4个方法之外,每个对象还继承了ObjectFinalize方法。

由于您的类继承自Object,因此该语句是有效的:

object sc = new SomeClass();