C# 中将 DataTable 转换为 List

2024 年 8 月 29 日 | 阅读 3 分钟

引言

在 C# 中处理数据时,通常使用 DataTable 对象来保存数据。DataTable 是一种功能强大的数据结构,允许您以多种不同方式操作和分析数据。但是,有时您可能需要将 DataTable 转换为对象列表以进行进一步处理。在本文中,我们将深入探讨如何在 C# 中将 DataTable 转换为列表。

什么是 DataTable?

DataTable 是 C# 中的一个类,用于在内存中表示数据表。它类似于数据库中的表,具有行和列。DataTable 可以从各种来源(例如数据库、XML 文件甚至 CSV 文件)填充数据。数据加载到 DataTable 后,可以以各种方式进行操作、排序、筛选或显示。

什么是列表?

List 是同种数据类型项目的集合。它可以被视为具有动态大小的数组。List 提供了各种功能,例如添加或删除项目、排序、筛选或搜索项目。

为什么要将 DataTable 转换为 List?

虽然 DataTable 是一种功能强大的数据结构,但有时它不是进一步处理最方便的格式。例如,如果您想对数据执行 LINQ 查询或使用需要对象列表的第三方库,将 DataTable 转换为列表可能更有效。此外,如果您正在处理较小的数据子集或需要以更专业的方式操作数据,列表可能更容易使用。

在 C# 中将 DataTable 转换为 List 的步骤

以下是在 C# 中将 DataTable 转换为列表的步骤

  1. 创建一个类来表示 DataTable 中每一行的数据。此类的属性应与 DataTable 中的列对应。
  2. 创建一个新的 List 对象,用于保存转换后的数据。
  3. 遍历 DataTable 中的每一行。
  4. 创建步骤 1 中创建的类的新对象。
  5. 用 DataTable 中当前行的值填充对象的属性。
  6. 将对象添加到步骤 2 中创建的 List 中。
  7. 返回 List。

让我们以一个例子来了解如何在 C# 中将 DataTable 转换为 List。

考虑一个名为“Employee”的 DataTable,包含“Id”、“Name”和“Salary”列。我们希望将此 DataTable 转换为“Employee”对象列表。

C# 代码

为了将此 DataTable 转换为 Employee 对象列表,我们将创建一个名为“Employee”的类,该类具有“Id”、“Name”和“Salary”属性。

C# 代码

现在,我们将遍历 DataTable 的行,并为每一行创建一个新的 Employee 对象。然后将此对象添加到 List 中。

C# 代码

在上面的代码中,我们首先创建了一个名为“employees”的空 Employee 对象列表。然后我们使用 foreach 循环遍历 DataTable“dt”的每一行。对于每一行,我们创建了一个新的 Employee 对象,名为“employee”。然后,我们将行的“Id”、“Name”和“Salary”列的值赋给 Employee 对象的属性。最后,我们将此对象添加到列表“employees”中。

我们现在可以使用此列表来操作数据或以不同格式显示数据。

结论

在各种需要操作数据或以不同格式显示数据的情况下,将 DataTable 转换为 List 非常有用。它涉及遍历 DataTable 的行,并为每一行创建一个新的对象,该对象表示该行中的数据。然后将此对象添加到 List 中。在本文中,我们通过一个示例讨论了如何在 C# 中将 DataTable 转换为 List。