假设我有一个System.String[]类型的对象.我可以查询type对象以确定它是否是数组

Type t1 = typeof(System.String[]);
bool isAnArray = t1.IsArray; // should be true

但是,如何从t1获取数组项的类型对象

Type t2 = ....; // should be typeof(System.String)

推荐答案

为此,可以使用实例方法Type.GetElementType.

Type t2 = t1.GetElementType();

[返回]当前数组、指针或引用类型包含或引用的对象的类型,如果当前类型不是数组或指针,或未通过引用传递,或表示泛型类型或泛型方法定义中的泛型类型或类型参数,则返回null.

.net相关问答推荐

PowerShell 5.1和7在使用证书时的区别

NuGet 兼容与计算框架(Xamarin 和 .NET 6)

双精度的 C++ 和 C# 十六进制值之间的差异

将日期时间转换为日期格式 dd/mm/yyyy

什么是表达式树,如何使用它们,为什么要使用它们?

如何获取控制台应用程序的执行目录

Environment.TickCount 与 DateTime.Now

运算符重载 ==, !=, Equals

如何将 UI Dispatcher 传递给 ViewModel

基于多个字符分隔符拆分字符串

测试没有预期的异常

如何使用配置转换删除 ConnectionString

我不了解应用程序域

Iif 在 C# 中等效

POCO 是什么意思?

在任务中捕获异常的最佳方法是什么?

C# (.NET) 设计缺陷

IEnumerable vs IReadonlyCollection vs ReadonlyCollection 用于公开列表成员

在 IIS 中访问 .svc 文件时出现 HTTP 404

为 webClient.DownloadFile() 设置超时