SORU
14 AĞUSTOS 2013, ÇARŞAMBA


Başvuru türü C#

Bu kodu göz önünde bulundurun:

public class Program
{
    private static void Main(string[] args)
    {
        var person1 = new Person { Name = "Test" };
        Console.WriteLine(person1.Name);

        Person person2 = person1;
        person2.Name = "Shahrooz";
        Console.WriteLine(person1.Name); //Output: Shahrooz
        person2 = null;
        Console.WriteLine(person1.Name); //Output: Shahrooz
    }
}

public class Person
{
    public string Name { get; set; }
}

person2 person2 Name özelliği person1 atama değişti açıkçası, ne zaman, person1 Name de değişmiş olacak. person1 person2 aynı referans var.

Neden person2 = null, person1 değişken null ya da ne zaman?

CEVAP
14 AĞUSTOS 2013, ÇARŞAMBA


Her iki person person2referanslaraynı nesne için. Ama bu farklı kaynaklar vardır. Çalıştırırken

person2 = null;

person2 referans person terk ve ilgili değişmeden nesne sadece referans değişiyor.

Bu basitleştirilmiş bir örnekle açıklamak için en iyi yolu sanırım. Durum gibi görünüyorduönceperson2 = null:

Before null assignment

Ve işte resimsonraboş ödev:

Enter image description here

Gördüğünüz gibi, ikinci resim person2 başvurular hiçbir şey (ya da null, açık konuşmak gerekirse, hiçbir şey bu yana başvuru ve başvuru için null farklı koşullar, bakın yorum Rune FS), person hala başvurular varolan bir nesne.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006