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

  • AginoEvolutionHD

    AginoEvoluti

    27 AĞUSTOS 2011
  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010
  • SoundHound

    SoundHound

    8 Mart 2006