【发布时间】:2015-04-24 19:13:40
【问题描述】:
我想转换这个DataTable
dt.Columns.Add(new DataColumn("timespan1", typeof(TimeSpan)));
dt.Columns.Add(new DataColumn("timespan2", typeof(TimeSpan)));
进入这个
dt.Columns.Add(new DataColumn("timespan1", typeof(double)));
dt.Columns.Add(new DataColumn("timespan2", typeof(double)));
我已经设法做到了。
Double d;
foreach (DataRow row in dt.Rows)
{
dr = dtNew.NewRow();
dr[0] = row.ItemArray[0];
Double.TryParse(((TimeSpan)(row.ItemArray[1])).TotalMinutes.ToString(), out d);
dr[1] = d;
Double.TryParse(((TimeSpan)(row.ItemArray[2])).TotalMinutes.ToString(), out d);
dr[2] = d;
dtNew.Rows.InsertAt(dr, 0);
}
有没有办法使用 Linq 或 lambda 表达式?我想将此new <double> DataTable 绑定到堆积条形图。感谢你的帮助。谢谢。
【问题讨论】:
-
为什么要将 TimeSpan 转换为字符串然后解析它?为什么不直接使用
dr[1] = ((TimeSpan) row.ItemArray[1]).TotalMinutes;? -
这真的很有道理。我使用 TryParse 作为安全转换。