C#中default关键字用法简介

C#中default关键字可根据上下文有多种含义。switch语句中使用default处理非case匹配的默认情况。在泛型中使用default,取决于泛型类型是引用类型还是值类型,引用类型的default将泛型类型初始化null,值类型的default将泛型类型初始化为0。在类型应用中可以通过default获得缺省值,如default(int)。

switch中default具体的用法:

 switch (index)
            {
                case 1:
                    Console.WriteLine(index.ToString());
                    break;
                case 2:
                    Console.WriteLine(index.ToString());
                    break;
                default:
                    Console.WriteLine("case未匹配--" + index.ToString());
                    break;
            }

在泛型类型中,由于泛型类型即可以是引用类型也可以是值类型,所以不能用null来表示默认值。这里通过default来进行。引用类型的default将泛型类型初始化null,值类型的default将泛型类型初始化为0。

 class DocClass<T>
    {
        public T Swap(T ob)
        {
            T temp = default(T);
            if (ob != null) temp = ob;
            return temp;
        }
    }

default获得类型缺省值:

 Console.WriteLine(default(int));//0
 Console.WriteLine(default(string));//

猜你喜欢

转载自blog.csdn.net/mpegfour/article/details/79382904