C#学习中遇到的问题: 判断泛型变量是否未赋值(未解决)
此问题为我在写二叉树时遇到的问题.
C#中int类型的默认值default(int) = 0. 如int a
,
显然要判断a是否未赋值时使用if(a==0){//操作}
不合适, 因此需要使用int? a = null
, 或者System.Nullable<int> a = null
. 然后使用if(a==null){//内容}
进行判断.
此时我定义一个泛型变量 T value
, 当在T
为引用类型时, 可以使用if(a==null){//内容}
进行判断, 但当在T
为值类型时, value不能为null, 难以进行是否赋值的判断.使用T? value
则会报错.
暂时未找到合适的解决方案.