Menu
Coddy logo textTech

Null Checking Patterns

Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 33 / 66.

Null kontrolü, sağlam C# kodu yazmanın temel bir parçasıdır. Null değerleri güvenli bir şekilde kontrol etmek için kullanabileceğiniz birkaç desen vardır.

Bazı yaygın null kontrol desenlerini inceleyelim:

İlk olarak, temel null kontrolü:

string name = null;

if (name == null)
{
    Console.WriteLine("Name is null");
}

Yaygın bir başka kalıp, potansiyel olarak null nesnelerin üyelerine güvenli erişim sağlayan null koşullu operatördür (?.):

string name = null;
int? length = name?.Length;  // length will be null

Null-birleştirme operatörü (??), bir ifade null olduğunda varsayılan bir değer sağlar:

string name = null;
string displayName = name ?? "Unknown";  // displayName will be "Unknown"

Ayrıca bu kalıpları daha karmaşık senaryolar için zincirleyebilirsiniz:

string name = null;
int length = (name ?? "").Length;  // length will be 0

string.IsNullOrWhiteSpace() yöntemi, bir dizenin null olup olmadığını, boş olup olmadığını veya yalnızca boşluk karakterleri içerip içermediğini kontrol eder. Dize girdisini tek bir çağrıda doğrulamak için kullanışlı bir yöntemdir:

string name = null;

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("No name provided");  // this will print
}

string blank = "   ";

if (string.IsNullOrWhiteSpace(blank))
{
    Console.WriteLine("Blank name provided");  // this will also print
}

string.IsNullOrWhiteSpace()'ı, null, boş dizeleri ve yalnızca boşluk içeren dizeleri eşdeğer geçersiz girdi olarak değerlendirmek istediğinizde kullanın.

challenge icon

Görev

Kolay

processUserName adında bir metot oluşturun ki bu metot bir string parametresi userName alsın. Metot şunları yapmalıdır:

  1. Eğer userName null ise, "No user provided" döndürün
  2. Eğer userName boş veya sadece boşluk içeriyorsa, "Invalid username" döndürün
  3. Aksi takdirde, [userName] gerçek kullanıcı adının olduğu "Welcome, [userName]!" döndürün

Uygun null kontrol desenlerini kullanmayı unutmayın.

Kopya kağıdı

Temel null kontrolü için == null kullanın:

if (name == null)
{
    Console.WriteLine("Name is null");
}

Üye erişimini güvenli hale getirmek için null-koşullu operatörü ?. kullanın:

int? length = name?.Length;  // length will be null if name is null

Varsayılan değerler sağlamak için null-birleştirme operatörü ?? kullanın:

string displayName = name ?? "Unknown";

Null, boş veya sadece boşluk içeren dizeleri kontrol etmek için string.IsNullOrWhiteSpace() kullanın:

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("Name is null, empty, or whitespace");
}

Karmaşık senaryolar için operatörleri zincirleyin:

int length = (name ?? "").Length;  // length will be 0 if name is null

Kendin dene

using System;

class ProcessUserName
{
    public static string processUserName(string userName)
    {
        // Buraya kodunuzu yazın
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler