csharp怎样判断泛型传进来的是什么
时间: 2023-10-10 16:05:49 浏览: 59
详解C# 泛型中的数据类型判定与转换
在C#中,可以使用以下方法来判断泛型传进来的是什么:
1. 使用`typeof`关键字获取类型,并与目标类型进行比较,例如:
```csharp
if (typeof(T) == typeof(int))
{
// T是int类型
}
else if (typeof(T) == typeof(string))
{
// T是string类型
}
```
2. 使用`is`关键字判断类型是否为某种类型或其派生类,例如:
```csharp
if (item is MyClass)
{
// item是MyClass类型或其派生类
}
else if (item is List<MyClass>)
{
// item是List<MyClass>类型
}
```
3. 使用`as`关键字将对象强制转换为目标类型,如果转换失败则返回null,例如:
```csharp
MyClass obj = item as MyClass;
if (obj != null)
{
// item是MyClass类型或其派生类
}
```
阅读全文