C#DataTable实现横表转列表
时间: 2024-09-26 18:13:21 浏览: 39
在C#中,`DataTable`是一个用于存储表格数据的数据结构,它通常来自于数据库查询结果或XML文件等。将`DataTable`转换为普通的二维列表(List<List<T>>),可以方便地操作和遍历。以下是一个简单的步骤:
1. 创建一个公共泛型类型,用于表示列的数据类型:
```csharp
public class DataTableToListConverter
{
// ...
}
```
2. 实现一个静态方法,接受一个`DataTable`作为输入,并返回一个二维列表:
```csharp
public static List<List<dynamic>> DataTableToArrayList(DataTable dataTable)
{
var columnNames = dataTable.Columns.Cast<DataColumn>().Select(column => column.ColumnName).ToList();
var result = new List<List<dynamic>>();
foreach (DataRow row in dataTable.Rows)
{
var newRow = new List<dynamic>();
foreach (var columnName in columnNames)
newRow.Add(row[columnName]);
result.Add(newRow);
}
return result;
}
```
在这个例子中,`dynamic`被用作列值类型的占位符,实际应用时应替换为对应的具体类型。
阅读全文