6 / 6

Object

A lonely AI in the future

I C# ärver varje klass implicit från en särskild klass som kallas Object eller object.

Klass Object har flera virtual metoder som du kan överskugga i din klass. Vi ska ta en närmare titt på en av dem:

public virtual string ToString ();

Du kan föreställa dig att varje klass har ': Object' bifogat till sig.

Vad du skriverVad kompilatorn ser
class MyClass
{

}
class Object
{
    public virtual string ToString ();

    // Other members
}

class MyClass : Object
{

}

När du anropar Console.WriteLine() på ett objekt av vilken klass som helst, anropar den först ToString på objektet och skriver sedan ut returvärdet till konsolen.

Du kan överskugga ToString metoden i din klass om du vill använda ett särskilt format eller stil när du anropar Console.WriteLine(). Här är ett exempel med en klass Point.

class Point
{
    public int X { get; set; }
    public int Y { get; set; }

    public override string ToString()
    {
        return $"[{X}, {Y}]";
    }
}

public class ClassWithMain
{
    public static void Main()
    {
        var point = new Point
        {
            X = 23,
            Y = 32
        };

        Console.WriteLine(point);
    }
}

// Outputs:
// [23, 32]