【问题标题】:Datatable to Multidimensional Array数据表到多维数组
【发布时间】:2012-02-14 12:23:18
【问题描述】:

有没有一种简单的方法可以将 Datatable 转换为多维字符串数组?

也许使用LINQ

肯定有比手动循环遍历所有列/行更好的方法...

【问题讨论】:

标签: c# asp.net linq datatable asp.net-4.0


【解决方案1】:

Linq 就是答案。您可以使用AsEnumerable 方法将DataTable 转换为IEnumerable。然后,ToArray() 将其转换为数组。

var tableEnumerable = DataTableName.AsEnumerable();
tableArray = tableEnumerable.ToArray();

【讨论】:

  • 对不起,我以前从未使用过 LINQ。我收到此错误Cannot implicitly convert type 'System.Data.DataRow[]' to 'string[*,*]' 任何帮助将不胜感激。
  • 你在我给你的那一行得到了那个错误吗?如果是这样,你能不能把它分成不同的部分(enumerable = DataTable.asenumerable(); tablearray = enumerable.toarray();),看看它是否仍然有相同的反应。
  • @Greg 我遇到了同样的错误,即使它分成多行。你解决了吗?
  • @Rachel 是的,试试这样的var foo = dt.AsEnumerable().Select(x => x.ItemArray).ToArray();
【解决方案2】:

yourTable.AsEnumerable().Select(row => row.ItemArray).ToArray()

【讨论】:

    【解决方案3】:

    试试 dt.Rows.Cast().Select(//数据行转字符串)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-06
      • 2018-10-31
      • 2017-04-11
      • 2016-01-13
      • 2016-12-07
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多