Share via


A palavra-chave default em código fonte "genérico" (Guia de programação C#)

Em métodos e classes genéricas, um problema que surge é como atribuir um valor padrão a um tipo parametrizado T quando você não souber a seguir antecedência:

  • Se T será um tipo de referência ou um tipo de valor.

  • Se T é um tipo de valor, se ele será um valor numérico ou uma struct.

Dado uma variável t de tipo parametrizado T, a demonstrativo t = nulo é válido somente se T é um tipo de referência e t = 0 será apenas trabalho para tipos de valores numéricos, mas não para structs.A solução é usar o default palavra-chave, que retornará nulo para tipos de referência e zero para tipos de valor numérico. Para structs, ele retornará cada membro da estrutura inicializada para zero ou nulo dependendo se elas são tipos de valor ou referência.O exemplo a seguir do GenericList<T> classe mostra como usar o default palavra-chave. Para obter mais informações, consulte Visão geral de genéricos.

public class GenericList<T>
{
    private class Node
    {
        //...

        public Node Next;
        public T Data;
    }

    private Node head;

    //...

    public T GetNext()
    {
        T temp = default(T);

        Node current = head;
        if (current != null)
        {
            temp = current.Data;
            current = current.Next;
        }
        return temp;
    }
}

Consulte também

Conceitos

Guia de Programação C#

Referência

Generics (Guia de programação C#) 

Métodos genéricos (Guia de programação C#)

System.Collections.Generic

Outros recursos

Classes genéricas no .NET Framework