簡體   English   中英

將C#類型轉換為類型數組的類型

[英]Convert C# Type to the type of an array of type

我需要類型變量中給定類型的n個元素的數組的類型。 我正在解決這樣的問題:

Type foo;
int n;

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

這可行,但這確實意味着我實際上是在創建一個未使用的數組以獲取其類型。 我相信一定有更好的方法!

您可以使用Type.MakeArrayType()

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

這將返回Foo的一維數組的Type 數組的length與類型無關。

對於多維數組,可以使用此重載

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM