问答详情
源自:5-1 泛型类

关于取出的问题

returen default(T);

这一句起到的是什么作用,为什么是在取出的时候使用,装进去的时候不能使用么


提问者:weixin_精慕门8301856 2019-07-24 23:30

个回答

  • 日安因心
    2019-07-30 16:22:10

    之所以会用到default关键字,是因为需要在不知道类型参数为值类型还是引用类型的情况下,为对象实例赋初值。考虑以下代码:

    class TestDefault<T>

        {

            public T foo()

            {

                T t = null; //???

                return t;

            }

        }

    如果我们用int型来绑定泛型参数,那么T就是int型,那么注释的那一行就变成了 int t = null;显然这是无意义的。为了解决这一问题,引入了default关键字:

    class TestDefault<T>

        {

            public T foo()

            {

                    return default(T);

            }

       }