C# 比较 native 类型和可空类型(Int32 和 Int32?)

标签 c# generics types nullable

有没有办法在 C# 中比较可空泛型和不可空泛型?

例如:

public void function<T>()
{
    Type t = sqlreader.GetValue(pos).GetType();
}

哪里t类型为 Int32T类型为 Nullable<Int32> .

我们如何比较tT这样它就返回 true

最佳答案

目前尚不清楚您要做什么,但您可能可以只使用 Nullable.getUnderlyingType :

if (t == Nullable.GetUnderlyingType(typeof(T)))

关于C# 比较 native 类型和可空类型(Int32 和 Int32?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762651/

相关文章:

c# - 我如何识别我的服务的客户?

c# - 通用接口(interface)上的代码约定问题

Java通配符错误

c# - 有没有办法使用 LINQ 从 List<T> 中删除某些元素?

c# - 具有通用类型的 Caliburn Micro phonecontainer 注入(inject)服务,始终为 null

angular - 为什么 Typescript 无法推断 RxJs 流中的元组返回类型?

haskell - 编写函数 (a -> b -> ... -> t) -> (Monad m => m a -> m b -> ... -> m t)

java - 使用继承时使用类的实际类型

c# - 将空值转换为空 IEnumerable<T> 的 Linq 方法?

java - 为什么我不能将原始类型分配给参数化类型? ( java )