Compartilhar via


null (Referência de C#)

O null palavra-chave é um literal que representa uma referência nula, que não se refere a qualquer objeto. nullé o valor padrão das variáveis do tipo de referência. Tipos comuns de valor não podem ser nulos. No entanto, o C# 2.0 introduziu os tipos de valor nulo. Consulte Tipos anuláveis (Guia de Programação em C#).

O exemplo a seguir demonstra alguns comportamentos da palavra-chave null:

class Program
{
    class MyClass
    {
        public void MyMethod() { }
    }

    static void Main(string[] args)
    {
        // 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.
        mc.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. 
        bool b = (t.Equals(s));
        Console.WriteLine(b);

        // Equality operator also returns false when one 
        // operand is null.
        Console.WriteLine("Empty string {0} null string", s == t ? "equals": "does not equal");

        // Returns true.
        Console.WriteLine("null == null is {0}", 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.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();

    }
}

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

Palavras-chave C#

Palavras-chave literais (Referência de C#)

Nada (Visual Basic)

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#

Tabela de valores padrão (Referência de C#)