共用方式為


泛型程式碼中的預設關鍵字 (C# 程式設計手冊)

更新:2007 年 11 月

在泛型類別和方法中會發生一個問題,也就是當您無法預先知道下列資訊時,如何將預設值指派給參數化型別 T:

  • T 是參考型別或實值型別

  • 如果 T 是實值型別,則會是數字值或結構

當指定參數化型別 T 的變數 t 時,只有在 T 是參考型別時,陳述式 t = null 才有效,並且 t = 0 只有對數值型別 (而不是結構) 有效。解決方法是使用 default 關鍵字,對參考型別傳回 null 而對數值型別傳回零。這種方法會根據結構是實值或參考型別,為結構傳回初始化成零或 null 的每個結構成員。下列 GenericList<T> 類別的程式碼範例示範如何使用 default 關鍵字。如需詳細資訊,請參閱泛型概觀

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;
    }
}

請參閱

概念

C# 程式設計手冊

參考

泛型 (C# 程式設計手冊)

泛型方法 (C# 程式設計手冊)

System.Collections.Generic

其他資源

.NET Framework 中的泛型