9 November 2025 Sunday 10:46:53


C# 6.0 İle Auto Property Initializers Kullanımı

C# 6.0 İle Auto Property Initializers Kullanımı

C# 6.0 içerisinde yer alan bu özellik ile Auto Property' lere default değer ataması yapılabilmektedir. İlk olarak 6.0 öncesinde benzer işlemin nasıl yapıldığını inceleyelim.

public class Personel  
{  
    public Personel(string ad)  
    {  
        this.Ad = ad;  
    }  
  
    public string Ad { get; set; }  
}  

Ya da

public class Personel  
{  
    public Personel()  
    {  
        this.Ad = "ali";  
    }  
  
    public string Ad { get; set; }  
}  

şeklinde tanımlama yapıyoruz. Benzer işlemi 6.0 içerisinde aşağıdaki gibi yapabiliyoruz.

public class Personel  
{  
    public string Ad { get; set; } = "Ali";  
}  

Kod yazımı bu şekilde oldukça kısalmaktadır.

public class Personel  
{  
    public string Ad { get; set; } = string.Concat("Ali", " ", "Can");  
}  

Yukarıdaki gibi de değer ataması yapılabilmektedir. Sadece getter' ı olan bir auto-property için ilk değer ataması yapmak istediğimizde bunu 6.0 öncesinde şu şekilde yapabiliyoruz.

public class Personel  
{  
    public Personel(string ad)  
    {  
        this.Ad = ad;  
    }  
  
    public string Ad { get; }  
}  
public class Personel  
{  
    public Personel()  
    {  
        this.Ad = "Ali Can";  
    }  
  
    public string Ad { get; }  
}  
public class Personel  
{  
    private readonly string ad = "ali";         
  
    public Personel()  
    {  
        this.Ad = ad;  
    }  
  
    public string Ad { get; }  
}  
public class Personel  
{  
    private readonly string ad = "ali";         
  
    public string Ad { get { return ad; } }  
}  

Yukarıki yöntemlerden herhangi birisi kullanılabilir. Bunun yerine 6.0 ile getter only auto property' lere aşağıdaki gibi default değer ataması yapılabilmektedir.

public class Personel  
{  
    public string Ad { get; } = "Ali Can";  
}  

Aşağıda auto property initializers ile ilgili farklı örnekler bulunmaktadır.

public class Personel  
{  
    public string Ad { get; } = "Ali Can";  
  
    public DateTime KayitTarihi { get; set; } = DateTime.Now;  
  
    public bool Aktif { get; set; } = true;  
  
    public Image Resim { get; set; } = Image.FromFile("Resim");  
  
    public Color Renk { get; set; } = Color.Red;  
      
    public List<Personel> Elemanlar { get; set; } = new List<Personel>();  
}  

 

img

ibrahim ÖZKAN