asp.net de Menu2 = Menu1 e eşit olsun?

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

asp.net de Menu2 = Menu1 e eşit olsun?

Mesaj gönderen metemete » 05 Kas 2009 11:00

asp.net :
Menu1 in öğelerini databaseden okutarak tanımlıyorum.
Menu2 , Menu1 e içindekilerle beraber eşit olsun?
istiyorum
Menu2 = Menu1 yaptım olmadı?

Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 03:55
Konum: İstanbul
İletişim:

Re: asp.net de Menu2 = Menu1 e eşit olsun?

Mesaj gönderen lazio » 07 Kas 2009 04:53

C# iki tür type vardır, value type ve reference type..

class lar reference type dır ve iki farklı instance ı bir birine eşitlediğinde sağdakinin adres, soldakine atanır, yani;

Kod: Tümünü seç

public class MyClass
    {
        public string AdSoyad
        {
            get;
            set;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyClass class1 = new MyClass();
            MyClass class2 = new MyClass();

            class1.AdSoyad = "Ali Veli";

            class2 = class1; // class1, class2 ye referans ediyor...

            Console.WriteLine(class1.AdSoyad);
            Console.WriteLine(class2.AdSoyad);

            class2.AdSoyad = "Veli Ali";

            Console.WriteLine(class1.AdSoyad);
            Console.WriteLine(class2.AdSoyad);

            Console.ReadKey();
        }
    }
Reference type larda bahsettiğin işlem genelde bir kopyalama fonksiyonu yazılarak aşağıdaki gibi yapılır..

Kod: Tümünü seç

public class MyClass
    {
        public string AdSoyad
        {
            get;
            set;
        }

        public MyClass Kopyala()
        {
            MyClass result = new MyClass();
            result.AdSoyad = this.AdSoyad;
            return result;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyClass class1 = new MyClass();
            MyClass class2 = new MyClass();

            class1.AdSoyad = "Ali Veli";

            class2 = class1.Kopyala();

            Console.WriteLine(class1.AdSoyad);
            Console.WriteLine(class2.AdSoyad);

            class2.AdSoyad = "Veli Ali";

            Console.WriteLine(class1.AdSoyad);
            Console.WriteLine(class2.AdSoyad);

            Console.ReadKey();
        }
    }
Resim

..::|YeşilMavi|::..

Cevapla