CodeBlanks Logo Icon CodeBlanks

Required üyeler

C# kursu · Orta seviye · Ders 28/116

required anahtar kelimesiyle zorunlu özellikleri öğrenirsin.

Required üyeler

required anahtar kelimesi, bir özelliğin nesne oluşturulurken mutlaka ayarlanmasını zorunlu kılar. Bildirimi: public required string Name { get; set; }.

Bunu yazmazsan new Person() derleme hatası verir; new Person { Name = "Ayşe" } olmak zorundadır. Bu, eksik veriden kaynaklanan hataları derleme zamanında yakalar. required ile init birlikte de kullanılabilir: hem zorunlu hem de sonradan değişmez özellik elde edilir.

required + init

required ve init birlikte kullanıldığında hem zorunlu hem de değişmez özellik elde edilir: public required string Name { get; init; }.

Bu kombinasyon, kayıt (record) benzeri tipler oluşturur. Nesne başlatıcı ile değer verilir, sonradan değiştirilemez ve başlatılmadan derlenmez. Veri taşıyan sınıflarda değer nesneleri (value objects) için idealdir. Modern C# kodunda veri sınıflarının standart biçimidir.

Uygulama Person sınıfına required özellik ekle

Bir Person sınıfı tanımla. İçine public required string Name { get; set; } özelliğini ekle. Main içinde new Person { Name = "Ayşe" } ile örnek oluştur ve Name'i yazdır.

Örnek çözümü göster
Person'a required Name özelliği ekle. Main içine Person p = new Person { Name = "Ayşe" }; Console.WriteLine(p.Name); yaz.
Örnek çözüm:
using System;

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

class Program
{
    static void Main()
    {
        Person p = new Person { Name = "Ayşe" };
        Console.WriteLine(p.Name);
    }
}

Kendini test et

  1. Anahtar kelimeyi davranışına eşle

    required
    Başlatmada zorunlu
    init
    Sonradan değişmez
    set
    Her zaman yazılır
    get
    Okuma
  2. Hangisi başlatmada ayarlanması zorunlu özelliktir?

    • public string Name { get; set; }
    • public string Name { get; init; }
    • public required string Name { get; set; }
    • public string Name { get; }
    Cevabı göster

    public required string Name { get; set; } — Doğru. required ile özellik başlatmada ayarlanması zorunlu olur.

  3. required özelliği tamamla

    public ____ string Name { get; set; }
    Cevabı göster
    public required string Name { get; set; }

Orta seviye bölümündeki tüm dersler