Я хотел бы преобразовать эту DataTable
Преобразовать TimeSpan удвоится в DataTable, используя выражение Linq/лямбда
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 или выражение лямбда? Я хотел бы привязать этот new <double> DataTable
к сложной гистограмме. Ценю вашу помощь. Благодарю.
Почему вы преобразования TimeSpan в строку, а затем разбор его? Почему бы просто не использовать строку 'dr [1] = ((TimeSpan) .ItemArray [1]). TotalMinutes;'? –
Это действительно имеет смысл. Я использую TryParse как безопасное преобразование. – palec