DataRow转为数组,代码怎么写
时间: 2024-10-14 17:18:11 浏览: 43
获取DataRow[]的值示例
在.NET框架中,如果你有一个`DataRow`对象并且想要将其转换为数组,通常你会先确定数据的具体类型,然后逐列获取值并创建一个新的数组。这里是一个简单的示例,假设我们有一个包含字符串类型的`DataRow`:
```csharp
using System;
using System.Data;
public static T[] DataRowToArray<DataType>(DataRow dr)
where DataType : struct, IConvertible
{
int length = dr.Table.Columns.Count;
Array array = Array.CreateInstance(DataType, length);
for (int i = 0; i < length; i++)
{
array.SetValue((DataType)dr[i], i);
}
return (T[])array.Clone();
}
// 使用示例
DataTable table = new DataTable();
DataRow row = table.Rows[0];
string[] stringArray = DataRowToArray<string>(row); // 将DataRow转换为字符串数组
```
这个方法假设`DataTable`中的所有列都具有相同的`IConvertible`接口,以便能够转换为指定的结构类型。如果需要处理不同类型的数据,你需要根据实际列类型调整代码。
阅读全文