Gå til indholdet

N215 Hukommelsesteori 1

Opret en ny konsol app og tilføj følgende kode:

using System;

class Program
{
    static void Main(string[] args)
    {

        Person k1 = new Person();
        k1.Id = 1;
        Person k2 = new Person();
        k2.Id = 2;
        Console.WriteLine(k1.Id);
        Console.WriteLine(k2.Id);
        k1 = k2;
        Console.WriteLine(k1.Id);
        Console.WriteLine(k2.Id);
        k1.Id = 3;
        Console.WriteLine(k1.Id);
        Console.WriteLine(k2.Id);
    }
}

struct Person    // ret til class Person jf. opgave
{
    public int Id;
}

1) Hvad skriver programmet ud – og hvorfor?? 2) Ret struct Person til class Person 3) Hvad skriver programmet ud – og hvorfor??

Klik for at se et forslag til en løsning

Du skulle gerne komme frem til, at når der er tale om en værdibaseret variabel (struct) kopieres der værdier, og når der er tale om en referencebaseret variabel (class) kopieres der referencer.