Menu
Coddy logo textTech

Null Reference Basics

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

C#'ta, bir null referans bir nesnenin yokluğunu temsil eder. Null değerlerle çalışmayı anlamak, sağlam kod yazmak için esastır.

Değer atamadan bir referans türü değişken (string gibi) bildirin:

string name = null;

'name' değişkeni artık null bir referans tutuyor; bu, bellekte herhangi bir nesneye işaret etmediği anlamına geliyor.

Kontrol etmeden null bir referans kullanmaya çalışmak çalışma zamanı hatalarına neden olabilir:

string name = null;
// This will throw a NullReferenceException
int length = name.Length;

Bir referansı kullanmadan önce null olup olmadığını kontrol edebilirsiniz:

string name = null;
if (name != null)
{
    // Safe to use name here
    int length = name.Length;
}

Ayrıca değişkene null olmayan bir değer de atayabilirsiniz:

string name = null;
name = "John";
// Now it's safe to use name
int length = name.Length; // length will be 4
challenge icon

Görev

Kolay

ProcessName adında, name adında bir string parametresi alan bir metod oluşturun. Metod şunları yapmalı:

  1. name'in null olup olmadığını kontrol edin
  2. Eğer name null ise, şunu yazdırın: "Name is null"
  3. Eğer name null değilse, şunu yazdırın: "Name length is X" (burada X name'in uzunluğudur)

Kopya kağıdı

C#'ta bir null referans, bir nesnenin yokluğunu temsil eder.

Null ile bir referans tipi değişken bildirin:

string name = null;

Kontrol etmeden null referansları kullanmak çalışma zamanı hatalarına neden olur:

string name = null;
// This will throw a NullReferenceException
int length = name.Length;

Kullanmadan önce null olup olmadığını kontrol edin:

string name = null;
if (name != null)
{
    // Safe to use name here
    int length = name.Length;
}

Kullanımı güvenli hale getirmek için null olmayan bir değer atayın:

string name = null;
name = "John";
int length = name.Length; // length will be 4

Kendin dene

using System;

class Program
{
    public static void ProcessName(string name)
    {
        // Kodu buraya yazın
    }
    
    static void Main(string[] args)
    {
        string input = Console.ReadLine();
        
        // "null" dizesini gerçek null'a dönüştür
        string name = input.ToLower() == "null" ? null : input;
        
        ProcessName(name);
    }
}
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