15  Lab C#: Uzaktan Kumanda (pointer) Soruları

15.1 Lab C#: Uzaktan Kumanda (pointer) 1

Aşağıdaki Kod listesi çalıştırıldığına çıktısı ne olur?

namespace lab.csharp.UzaktanKumanda;

public class UzaktanKumandaSorusu1
{
    int Deger = 5;
    public static void Main1()
    {
        UzaktanKumandaSorusu1[] dizi = new UzaktanKumandaSorusu1[5];
        int x = 0;
        while(x < 3)
        {
            dizi[x] = new UzaktanKumandaSorusu1();
            dizi[x].Deger = x;
            x = x + 1;
        }
        
        dizi[3] = dizi[1];
        dizi[4] = dizi[1];
        dizi[3] = null;
        dizi[4] = dizi[0];
        dizi[0] = dizi[3];
        dizi[3] = dizi[2];
        dizi[2] = dizi[0];
        
        for(int i=0;i<dizi.Length;i++)
        {
            UzaktanKumandaSorusu1 a = dizi[i];
            if (a == null)
            {
                Console.WriteLine("NULL");
            }
            else
            {
                Console.WriteLine(a.Deger);
            }
        }
        
    }
}

15.2 Lab C#: Uzaktan Kumanda (pointer) 2

Aşağıdaki Kod listesi çalıştırıldığına çıktısı ne olur?

public class UzaktanKumandaSorusu2
{
    int Deger = 5;
    public static void Main1()
    {
        UzaktanKumandaSorusu2[] dizi = new UzaktanKumandaSorusu2[10];
        for(int i=0;i<dizi.Length;i++)
        {
            dizi[i] = new UzaktanKumandaSorusu2();
            dizi[i].Deger = i;
        }
        
        for(int i=1;i<dizi.Length;i = i+2)
        {
            dizi[i] = new UzaktanKumandaSorusu2();
            dizi[i].Deger = i * 2;
        }
        for(int i=2;i<dizi.Length;i = i+3)
        {
            dizi[i] = new UzaktanKumandaSorusu2();
            dizi[i].Deger = i * 3;
        }
        
        dizi[3] = dizi[7];
        dizi[6] = dizi[1];
        dizi[9] = dizi[3];
        dizi[2] = dizi[6];
        dizi[4] = dizi[9];
        
        for(int i=0;i<dizi.Length;i++)
        {
            UzaktanKumandaSorusu2 a = dizi[i];
            if (a == null)
            {
                Console.WriteLine("NULL");
            }
            else
            {
                Console.WriteLine(a.Deger);
            }
        }
        
    }
}