object 转list C#例子
时间: 2024-02-05 14:04:46 浏览: 82
在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# datetable转list
在 C# 中,你可以将 DataTable 转换为 List,通常的做法是通过遍历 DataTable 的行并逐行创建动态对象或匿名对象添加到 List 中。这里有一个简单的示例:
```csharp
using System;
using System.Collections.Generic;
using System.Data;
// 假设你有一个 DataTable 叫 "myDataTable"
DataTable myDataTable = GetMyDataTable();
List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
foreach (DataRow row in myDataTable.Rows)
{
Dictionary<string, object> newRow = new Dictionary<string, object>();
foreach (DataColumn column in row.Table.Columns)
{
newRow.Add(column.ColumnName, row[column]);
}
list.Add(newRow);
}
```
在这个例子中,我们创建了一个 Dictionary 对象来模拟每一行的数据,因为 DataTable 的 Column 和 Row 都是可以直接访问的。如果数据模型更复杂,你可能需要创建自定义的对象。
c# byte[]转object[]
在C#中,`byte[]`数组通常表示字节序列,而`object[]`数组则是可以包含不同类型对象的数组。如果你有一个`byte[]`并且需要将其转换成`object[]`,你可以假设每个字节对应于`object`类型的单个元素,然后按照字节顺序逐一创建`object`并添加到数组中。这里是一个简单的示例:
```csharp
byte[] byteArray = new byte[] { 0x01, 0x02, 0x03, 0x04 }; // 假设这是四个字节的数据
List<object> objectArray = new List<object>();
for (int i = 0; i < byteArray.Length; i++)
{
objectArray.Add(BitConverter.ToInt32(byteArray, i)); // 将每个字节解包为int,并添加到object数组中
}
object[] resultArray = objectArray.ToArray(); // 转换为固定大小的object数组
```
这个例子假设每个`byte`都代表一个32位整数。如果数据的结构不同,你需要根据实际内容来解析。
阅读全文