c#可以将datatable转换成数组吗
时间: 2023-11-13 07:03:23 浏览: 46
是的,C# 中可以将 DataTable 转换成数组。可以使用 DataTable 的 Select 方法选择出符合条件的 DataRow 数组,然后使用 LINQ 的 Select 方法将 DataRow 转换成需要的类型。以下是示例代码:
```csharp
DataTable dataTable = new DataTable();
// 假设 dataTable 中有名为 "Name" 的列
DataRow[] dataRows = dataTable.Select();
string[] names = dataRows.Select(row => row["Name"].ToString()).ToArray();
```
在上面的示例中,我们使用 Select 方法选择出所有的 DataRow,然后使用 Select 方法将每个 DataRow 中的 "Name" 列转换成字符串,并将结果转换成了 string 数组。
相关问题
c#将datatable转换为list
可以通过以下代码将 DataTable 转换为 List:
```csharp
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
List<Person> people = new List<Person>();
foreach (DataRow row in dataTable.Rows)
{
Person person = new Person();
person.Id = (int)row["Id"];
person.Name = row["Name"].ToString();
person.Age = (int)row["Age"];
people.Add(person);
}
```
其中,`Person` 是要转换的实体类,`dataTable` 是要转换的 DataTable。遍历 DataTable 的每一行,将每一行的数据赋值给 Person 对象,然后添加到 List 中。
c#将datatable转换为string[]
可以通过以下代码将 DataTable 转换为 string[] 数组:
```csharp
string[] result = dataTable.Rows.Cast<DataRow>().Select(row => string.Join(",", row.ItemArray)).ToArray();
```
其中,`dataTable` 是要转换的 DataTable。首先使用 `Cast<DataRow>()` 方法将 DataTable 的行转换为 `DataRow` 对象,然后使用 `Select()` 方法将每一行转换为逗号分隔的字符串,最后使用 `ToArray()` 方法将所有字符串存储到 string[] 数组中。