1. 问题的引出:
事先不知道要把哪种同类型的数据传到类或者函数中使用,例如:设计一个栈,可以存储任何数据类型的数据。
2. 解决方法:
1、直接使用object类作为数据类型,传入的各种数据都会被转化为基类object类。因为object类是所有引用类型的共同的父类,不是继承自object类的数值型也可以通过装箱拆箱来进行转化。
2、使用object有一个缺点,即无法保证数据类型一致,无论放入什么类型的数据,都会被不加判断的转化成object类型。除非你想要的就是存储不同数据类型的数据这种效果,否则大多数情况下使用泛型更加合适。
3. 泛型
1、泛型的约束:必须满足一定条件的类型才能替换泛型。方法是使用where关键字。约束可以有多个。
2、泛型的缺省值(默认值):T Doc = default(T);
C# 泛型
最新推荐文章于 2024-02-19 21:53:08 发布