相关疑难解决方法(0)

可空类型不是可以为空的类型?

我正在使用可空类型进行一些测试,并且它没有像我预期的那样工作:

int? testInt = 0;
Type nullableType = typeof(int?);
Assert.AreEqual(nullableType, testInt.GetType()); // not the same type
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

DateTime? test = new DateTime(434523452345);
Assert.IsTrue(test.GetType() == typeof(Nullable)); //FAIL 

DateTime? test = new DateTime(434523452345);
Assert.IsTrue(test.GetType() == typeof(Nullable<>)); //STILL FAIL
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么testInt.GetType()返回int,而typeof(int?)返回真正的可空类型?

.net c# nullable gettype

44
推荐指数
2
解决办法
4423
查看次数

标签 统计

.net ×1

c# ×1

gettype ×1

nullable ×1