Temel Dil
Null ve Nullable
~, T?, ?. ve ?? davranışları.
~, T?, ?. ve ?? US'ın boş değer modelidir. Birbirinin yerine geçmezler.
Nedir?
~ boş değerdir. T? tipi boş alabilirliği bildirir. ?. alıcı ~ ise üye erişimini güvenli kılar. ?? solda ~ ise sağ değeri seçer.
Dikkat
Nullable olmayan konuma ~ atamak tanı hatasıdır. Boş metin ile ~ karıştırılmamalıdır.
İlgili konular
Veri Tipleri · Metin İşlemleri
Referans
Bu sayfa 4 katalog öğesini kapsar. Aşağıdaki maddeler language-spec, örnekler ve katalog alanlarından üretilmiştir.
~
İşlevi
~ boş (null) değer literali/işleçidir; yalnız nullable (T?) konuma atanabilir. Boş metin "" ile aynı değildir.
Ne zaman kullanılır?
Nullable alanda bilinçli boş değer göstermek için kullanın.
İşlenenler ve sonuç
Atama: ad: metin? = ~. Nullable olmayan hedefe ~ → US0810. ?? ile varsayılan, ?. ile güvenli erişim birlikte kullanılır.
Kullanım
ad: metin? = ~Örnek
ad: metin? = ~syaz ad ?? "Misafir"Çıktı
Misafir
Geçersiz örnek
ad: metin = ~US0810 — ~ yalnız nullable (metin?) konuma atanır.
Dikkat edilmesi gerekenler
""ile~farklıdır.- C#
nullanahtar kelimesi yoktur; boş değer~dır.
İlgili konular
Operatörler · Veri Tipleri · Metin İşlemleri
?
İşlevi
? ikili işleç değildir; tip sonekidir. T? nullable tip bildirir ve ~ alabilirliği açar.
Ne zaman kullanılır?
Değişken, alan veya dönüş tipinin boş olabileceğini bildirirken kullanın.
İşlenenler ve sonuç
Bildirim: ad: metin?. T → T? örtük; T? → T örtük değildir. İkili ?: üçlü işleç yoktur.
Kullanım
ad: metin?puan: tamsayı? = ~Örnek
ad: metin? = "İbrahim"syaz ad ?? "yok"Çıktı
İbrahim
Dikkat edilmesi gerekenler
?tek başına ifade işleci değildir;T?sonekidir.- C tarzı
koşul ? a : byoktur; ifade-eğer=\>/!=\>kullanır.
İlgili konular
?.
İşlevi
?. null-güvenli üye erişimidir; alıcı ~ ise sonuç ~ olur ve üye çağrılmaz. Sonuç tipi nullable yapılır; nullable alıcıda düz . US0811 (NullableAccess) tanısıdır.
Ne zaman kullanılır?
Nullable alıcıdan üye veya çağrı okurken kullanın.
İşlenenler ve sonuç
Biçim: alıcı?.üye. Öncelik üye/çağrı ailesindedir (seviye 1). Nullable alıcıda düz . yerine ?. zorunludur (US0811).
Öncelik
Seviye 1 (üye/çağrı/indis ailesi). Soldan bağlanır.
Kullanım
ad: metin? = kullanıcı?.adÖrnek
model Kullanıcı{ ad: metin} kullanıcı: Kullanıcı? = ~ad: metin? = kullanıcı?.adsyaz ad ?? "yok"Çıktı
yok
Dikkat edilmesi gerekenler
- Nullable alıcıda düz
.US0811 tanısıdır. - Alıcı
~ise üye değerlendirilmez; sonuç~.
İlgili konular
Operatörler · Modeller · Sınıflar
??
İşlevi
?? null birleştirmedir; sol ~ ise sağı değerlendirir ve üretir, değilse solu bırakır. Sağ yalnız sol boşken çalışır.
Ne zaman kullanılır?
Nullable değere varsayılan sağlamak için kullanın.
İşlenenler ve sonuç
Biçim: sol ?? sağ. Sonuç ortak tiptedir. Öncelik seviye 9 (|| sonrası, ifade-eğer öncesi). Kısa devre: sol doluysa sağ atlanır.
Öncelik
Seviye 9. Soldan bağlanır.
Kullanım
görünen: metin = ad ?? "Misafir"Örnek
ad: metin? = ~syaz ad ?? "Misafir"Çıktı
Misafir
Dikkat edilmesi gerekenler
- Sağ yalnız sol
~iken değerlendirilir. - Öncelik
||gevşeğidir; gerekirse parantez kullanın.