在C#中将Datatable转换为数组

时间:2016-06-15 06:06:05

标签: javascript c# arrays

我想在C#中以二维数组形式转换DataTable。 以下是清晰理解的例子。

C#中的DataTable:

code           Price
----------     ----------
1146441600000  34
1146528000000  5
1146614400000  10
1146700800000  7
1146787200000  12
1147046400000  8
1147132800000  9

js中需要输出:

[[1146441600000,34],
[1146528000000,5],
[1146614400000,10],
[1146700800000,7],
[1146787200000,12],
[1147046400000,8],
[1147132800000,9]]

我正在使用Razor引擎进行前端渲染。

3 个答案:

答案 0 :(得分:1)

一种方法是使用格式选项和Linq扩展函数并执行此操作。

DataTable dt; // set your source
var rows = dt.AsEnumerable()
             .Select(r=> string.Format("[{0}]", string.Join(",", r.ItemArray)));

var output = string.Format("[{0}]", string.Join(",", rows.ToArray()));

选中此Demo

答案 1 :(得分:0)

非常简单:

string[] arrray = dt.Rows.OfType<DataRow>().Select(k => k[0].ToString()).ToArray();

答案 2 :(得分:-1)

您可以使用LINQ将DataTable转换为数组。

var dtEnumerable = dt.AsEnumerable();
tableArray = dtEnumerable.ToArray();