Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
C#’ta “nullable types” (nullable veri tipleri), bir değişkenin değerinin null (boş) olabileceği anlamına gelen bir veri türüdür. Bu türler, özellikle veritabanı tablolarından gelen verileri işlerken veya değeri olmayan durumları temsil etmek için kullanışlıdır. Özellikle C# 8.0’dan itibaren “nullable reference types” özelliği daha fazla güvenlik ve hatayı erken yakalama sağlamıştır.
C#’ta bir değişkenin nullable olması için ilgili veri türüne “?” (soru işareti) eklenir. Örneğin:
int? nullableInt = null;
double? nullableDouble = 3.14;
bool? nullableBool = true;
Yukarıdaki örnekte, nullableInt değeri null (boş) olabilirken, nullableDouble ve nullableBool değerleri null olabilir veya olmayabilir.
Nullable değişkenler üzerinde işlem yapmadan önce, değerin null olup olmadığını kontrol etmek önemlidir. Bunun için HasValue ve Value özellikleri kullanılır:
int? nullableInt = null;
if (nullableInt.HasValue)
{
int intValue = nullableInt.Value;
Console.WriteLine("Value: " + intValue);
}
else
{
Console.WriteLine("Değer null");
}
Nullable bir değer null ise, null koalesans operatörü kullanılarak varsayılan bir değer atanabilir:
int? nullableInt = null;
int result = nullableInt ?? 10; // Eğer nullableInt null ise, result değeri 10 olur.
C# 8.0’dan itibaren nullable reference types özelliği eklenmiştir. Bu, referans türlerinin de nullable olabileceği anlamına gelir. Ayrıca, bu özellik kodun daha güvenli hale gelmesine yardımcı olur. Bu özellik varsayılan olarak kapalıdır, ancak proje seviyesinde etkinleştirilebilir:
#nullable enable
string? nullableString = null;
Nullable reference types özelliği açıkken, derleyici null güvenliğini sağlamak için uyarılar gösterebilir. Bu uyarıları dikkate alarak kodunuzu güncelleyebilirsiniz.
Nullable reference types özelliği açıksa, bir değişkenin bilinçli bir şekilde null olmadığını belirtebilirsiniz. Bu, derleyici uyarılarını geçmenizi sağlar. Ancak dikkatli kullanılmalıdır, çünkü gerçekte null olabilen bir değeri null olmayacakmış gibi davranmaktır.
#nullable enable
string? nullableString = null;
string nonNullableString = nullableString!; // nullableString değeri null bile olsa nonNullableString değeri non-nullable kabul edilir.
Nullable types ve nullable reference types, kodunuzu daha güvenli hale getirmenin yanı sıra, değeri olmayan durumları daha doğru bir şekilde temsil etmenizi sağlar. Bu özellikleri doğru bir şekilde kullanarak hem hatayı erken yakalama hem de daha tutarlı kod yazabilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle!”