0Pricing
C# Academy · Ders

required Değiştiricisi

Çağıranların gerekli özellikleri ayarlamasını zorunlu kılın.

required Değiştiricisi, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.

required Değiştiricisi

required değiştiricisi, çağıran kodu nesne oluşturulurken bir özelliği (veya alanı) ayarlamaya zorlar. "Bir değeri unuttunuz" hatalarını çalışma zamanından derleme zamanına taşır.

using System;

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

var p = new Person { Name = "Ada" };
Console.WriteLine(p.Name); // Ada

required Üye Atlanırsa Derleme Başarısız Olur

Çağıran kod bir required üyeyi atladığında derleyici, program hiç çalışmadan önce bir hata bildirir.

using System;

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

// var bad = new Person { }; // compile error: Name is required
var good = new Person { Name = "Lin" };
Console.WriteLine(good.Name); // Lin

required ile Başlatma

required, init ile doğal biçimde eşleşir: değer oluşturma sırasında sağlanmalı ve sonrasında değiştirilememelidir.

using System;

class Config {
    public required string Url { get; init; }
    public int Timeout { get; init; } = 30;
}

var c = new Config { Url = "https://api" };
Console.WriteLine(c.Url + " " + c.Timeout); // https://api 30

required ile Atama

Atanabilir bir özelliği de required olarak işaretleyebilirsiniz. Özellik başlatılmalıdır, ancak daha sonra değiştirilebilir.

using System;

class Box {
    public required int Size { get; set; }
}

var b = new Box { Size = 5 };
b.Size = 10; // still mutable
Console.WriteLine(b.Size); // 10

required Alanlar

Yalnızca özellikler değil, alanlar da required olarak işaretlenebilir.

using System;

class Token {
    public required string Value;
}

var t = new Token { Value = "abc123" };
Console.WriteLine(t.Value); // abc123

Oluşturucular ve required

Bir oluşturucu required bir üyeyi ayarlıyorsa, bu oluşturucuyu kullanan çağıran kodun üyeyi ayrıca ayarlaması gerekmez. Derleyiciye bildirmek için [SetsRequiredMembers] kullanın.

using System;
using System.Diagnostics.CodeAnalysis;

class Person {
    public required string Name { get; init; }
    [SetsRequiredMembers]
    public Person(string name) => Name = name;
}

Console.WriteLine(new Person("Sam").Name); // Sam

required ve İsteğe Bağlı Üyeleri Birlikte Kullanma

Yalnızca işaretlediğiniz üyeler zorunludur; diğerleri varsayılan değerleriyle isteğe bağlı kalır.

using System;

class Account {
    public required string Owner { get; init; }
    public decimal Balance { get; init; } = 0m;
}

var a = new Account { Owner = "Kai" };
Console.WriteLine(a.Owner + " " + a.Balance); // Kai 0

Kalıtımda required

required üyeler devralınır. Türetilmiş bir sınıf kendi required üyelerini ekleyebilir ve tüm üyelerin gereksinimleri karşılanmalıdır.

using System;

class Base { public required int Id { get; init; } }
class Item : Base { public required string Name { get; init; } }

var i = new Item { Id = 1, Name = "Pen" };
Console.WriteLine(i.Id + " " + i.Name); // 1 Pen

Ağır Oluşturucuların Yerine Geçme

required + init çoğu zaman büyük oluşturucuların yerini alır: okunabilir nesne başlatıcı söz dizimiyle zorunlu üyelere sahip olursunuz.

using System;

class Email {
    public required string To { get; init; }
    public required string Subject { get; init; }
    public string Body { get; init; } = "";
}

var e = new Email { To = "a@b.com", Subject = "Hi" };
Console.WriteLine(e.To + " | " + e.Subject); // a@b.com | Hi

Kendini Belgeleyen Amaç

Üyeleri required olarak işaretlemek, hangi değerlerin gerekli olduğunu belgeler ve türün doğru kullanılmasını kolaylaştırır.

using System;

class Registration {
    public required string Username { get; init; }
    public required string Password { get; init; }
    public bool Newsletter { get; init; }
}

var r = new Registration { Username = "ada", Password = "x" };
Console.WriteLine(r.Username); // ada

Bir Araya Getirme

required, isteğe bağlı ve doğrulanan üyeleri birleştiren bir tür.

using System;

class Server {
    public required string Host { get; init; }
    public int Port { get; init; } = 8080;
    public string Address => Host + ":" + Port;
}

var s = new Server { Host = "localhost" };
Console.WriteLine(s.Address); // localhost:8080

Hızlı Kontrol

required değiştiricisinin neyi garanti ettiğini doğrulayın.

Özet

required değiştiricisini öğrendiniz.

  • Üyenin oluşturma sırasında başlatılmasını zorunlu kılar; bu gereklilik derleyici tarafından denetlenir.
  • Zorunlu değişmez üyeler için init ile birlikte kullanılır.
  • [SetsRequiredMembers], bir oluşturucunun gereksinimi karşılamasına olanak tanır.
  • required üyeler devralınır.

Sıkça Sorulan Sorular

“required Değiştiricisi” dersi ücretsiz mi?

Evet — “required Değiştiricisi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.

“required Değiştiricisi” dersinde ne öğreneceğim?

Çağıranların gerekli özellikleri ayarlamasını zorunlu kılın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C# Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“required Değiştiricisi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Yalnızca init ile Ayarlanabilen Setter'lar
  2. required Değiştiricisi
  3. Değişmez Nesne Kalıpları
  4. Record'larda with İfadeleri
← C# Academy Sayfasına Dön