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 4Görev
KolayProcessName adında, name adında bir string parametresi alan bir metod oluşturun. Metod şunları yapmalı:
- name'in null olup olmadığını kontrol edin
- Eğer name null ise, şunu yazdırın: "Name is null"
- 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 4Kendin 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);
}
}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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety