要确定用于创建泛型类实例的类型,需要了解一个最基本的情况:它们是引用类型还是值类型。若不知道这个情况,就不能用下面的代码赋予null值:
public MyGenericClass()
{
innerTlObject = null;
}
如果Tl是值类型,则innerTlObject不能取null值,所以这段代码不会编译。幸好,开发人员考虑到了这个问题,使用default关键字的新用法解决了它。这I新用法如下:
public MyGenericClass()
(
innarTlObject = default(Tl);
}
其结果是,如果innerTlObject是引用类型,就给它赋予null值;如果它是值类型,就给它赋予默认值。对于数字类型,这个默认值是0;而结构根据其各个成员的类型,以相同的方式初始化为0或null。defcult关键字允许对必须使用的类型执行更多操作,但为了更进—步,还需要限制所提供的类型。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>