c#Object类型转数组
时间: 2024-12-14 08:19:22 浏览: 9
在 C# 中,`object` 类型可以转换成任何类型的数组,但这通常需要类型强制转换(Type Conversion)并且已知目标数组的确切类型。以下是一个基本的例子:
```csharp
// 创建一个 object 类型的对象,假设它存储的是一个整数列表
object objList = new List<int> { 1, 2, 3 };
// 确定对象的实际类型,这里是 List<int>
Type listType = objList.GetType();
// 获取 List<T> 的泛型类型参数 T
Type elementType = listType.GetGenericArguments()[0];
// 将对象转换为 int[] 数组
int[] array = (int[])objList.ToArray(elementType);
// 注意:如果转换失败(如非 List<int>),会抛出异常
```
在这个例子中,我们首先获取了 `objList` 的实际类型,然后提取出元素的类型 `int`,最后通过 `ToArray()` 方法将 `List<int>` 转换为 `int[]`。
阅读全文