null (C# Başvurusu)
null
anahtar sözcüğü, hiçbir nesneye başvurmayan null başvuruyu temsil eden bir değişmez değerdir. null
, başvuru türü değişkenlerin varsayılan değeridir. Boş değer türleri dışında normal değer türleri null olamaz.
Aşağıdaki örnekte anahtar sözcüğün bazı davranışları gösterilmektedir null
:
class Program
{
class MyClass
{
public static void MyMethod() { }
}
static void Main()
{
// Set a breakpoint here to see that mc = null.
// However, the compiler considers it "unassigned."
// and generates a compiler error if you try to
// use the variable.
MyClass mc;
// Now the variable can be used, but...
mc = null;
// ... a method call on a null object raises
// a run-time NullReferenceException.
// Uncomment the following line to see for yourself.
// mc.MyMethod();
// Now mc has a value.
mc = new MyClass();
// You can call its method.
MyClass.MyMethod();
// Set mc to null again. The object it referenced
// is no longer accessible and can now be garbage-collected.
mc = null;
// A null string is not the same as an empty string.
string s = null;
string t = string.Empty; // Logically the same as ""
// Equals applied to any null object returns false.
Console.WriteLine($"t.Equals(s) is {t.Equals(s)}");
// Equality operator also returns false when one
// operand is null.
Console.WriteLine($"Empty string {(s == t ? "equals" : "does not equal")} null string");
// Returns true.
Console.WriteLine($"null == null is {null == null}");
// A value type cannot be null
// int i = null; // Compiler error!
// Use a nullable value type instead:
int? i = null;
// Keep the console window open in debug mode.
}
}
C# dili belirtimi
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.
Ayrıca bkz.
GitHub'da bizimle işbirliği yapın
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.