c# object 转list
时间: 2024-02-15 07:58:43 浏览: 264
在C#中,将Object转换为List需要进行类型转换。可以使用LINQ的Cast<T>方法将Object转换为List<T>。以下是一个示例代码:
```csharp
Object obj = new List<int>() { 1,2, 3 };
List<int> list = ((IEnumerable)obj).Cast<int>().ToList();
```
在这个示例中,我们首先将Object对象赋值为一个整数列表。然后,我们将Object对象转换为IEnumerable接口,以便使用Cast<T>方法。最后,我们使用ToList()方法将结果转换为List<int>类型。
相关问题
object 转list C#例子
在C#中,可以使用OfType方法将一个Object类型的集合转换为指定类型的集合。下面是一个将Object类型的集合转换为Currency类型的集合的例子:
```
List<object> currencyList = new List<object>() {
new Currency(){Id = Guid.NewGuid(), Name = "a"},
new Currency(){Id = Guid.NewGuid(), Name = "b"},
new Currency(){Id = Guid.NewGuid(), Name = "c"}
};
List<Currency> currencies = currencyList.OfType<Currency>().ToList();
```
在这个例子中,我们首先创建了一个包含Currency对象和字符串对象的List<object>类型的集合currencyList。然后,我们使用OfType方法将currencyList转换为List<Currency>类型的集合currencies。
需要注意的是,如果currencyList中包含的对象不是Currency类型的对象,那么在转换时会抛出异常。因此,在使用OfType方法时,需要确保集合中只包含指定类型的对象。
c# object转换为泛型类
要将一个 C# object 转换为泛型类,可以使用类型转换操作符 as 或者强制类型转换操作符。
例如,假设有一个 object 对象 obj,我们想要将其转换为泛型类 List<int>,可以使用以下代码:
```
object obj = new List<int>() { 1, 2, 3 };
List<int> list = obj as List<int>; // 使用 as 操作符进行转换
if (list != null)
{
// 转换成功,可以使用 list 变量了
}
```
或者使用强制类型转换:
```
object obj = new List<int>() { 1, 2, 3 };
List<int> list = (List<int>)obj; // 使用强制类型转换进行转换
```
但是需要注意的是,如果 obj 对象的实际类型不是 List<int>,那么强制类型转换会抛出 InvalidCastException 异常。因此,在进行强制类型转换前,最好先使用 is 操作符进行类型检查,或者使用 as 操作符进行安全转换。