Java的getComponentType()方法对应的C#等效方法是什么
Java
getComponentType() 转C#的等效方法 C#中和Java getComponentType() 功能完全对应的是 Type.GetElementType() 方法,该方法会返回数组中存储的元素的类型,和Java的getComponentType()作用一致。
你给出的Java代码对应的C#实现如下:
T[] @unchecked = (T[])Array.CreateInstance(array.GetType().GetElementType(), sampleSize);
补充说明
- 若调用
GetElementType()的Type实例不是数组类型,方法会返回null,如果你的运行场景无法保证array一定是数组类型,建议先做非空判断再后续操作,避免触发空引用异常 - 如果你能确定目标数组的元素类型就是泛型参数
T,可以直接用更简洁的原生数组初始化写法,不需要走反射创建数组,性能更高:T[] @unchecked = new T[sampleSize];
内容的提问来源于stack exchange,提问作者Mamareza Alipour
相关产品推荐
相关产品推荐

