The class from which every other class in the CLR system derives by default, either directly or indirectly. (The command line option -noautoinherit of the Intermediate Language Assembler ilasm.exe disables this default inherting).
GetType()
Every object/instance has a type. The method GetType() returns a System.Type object that can be used to query information about that type (reflection).
ToString()
ToString() provides a basic implmentation to create a string representation of an object.
If not overridden, ToString() returns the fully qualified type name of the object (which is demonstrated with this PowerShell example).
In order to define a custom representation of a (derived) object, ToString() can be overridden.
If one the methods Equals() or GetHashCode() is overridden, the othermethod must also be overridden, otherwise, a warning such as the following is thrown by a (C#?) compiler:
Warning as Error: '…' overrides Object.Equals(object o) but does not override Object.GetHashCode()