gpt4 book ai didi

c# - 将 C# Type 转换为 type 数组的类型

转载 作者:行者123 更新时间:2023-12-03 21:59:45 26 4
gpt4 key购买 nike

我需要由类型变量中给定类型的 n 个元素组成的数组的类型。我正在像这样解决这个问题:

Type foo;
int n;

Type newType=(Array.CreateInstance(foo,n)).GetType();

这可行,但它确实意味着我实际上正在创建一个未使用的数组只是为了获取它的类型。我确信一定有更好的方法!

最佳答案

您可以使用Type.MakeArrayType() :

Type foo = typeof(Foo);
Type arrayType = foo.MakeArrayType();

这将返回 Foo 一维数组的 Type。数组的长度与类型无关。

对于多维数组,您可以使用 this overload

Type foo = typeof(Foo);
int dimensions = 5;
Type arrayType = foo.MakeArrayType(dimensions);

关于c# - 将 C# Type 转换为 type 数组的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38053351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com