我希望构建一种从数据表中插入数据的方法,并希望了解最有效的方法。我有这样的事情开始了:
List<double> freqlist, Rlist, Llist, Qlist;
foreach (DataRow row in tdt.Table.Rows) //tdt contains my datatable
{
freqlist.Add(row.Field<double>("FREQ"));
Rlist.Add(row.Field<double>("R"));
Llist.Add(row.Field<double>("L"));
Qlist.Add(row.Field<double>("Q"));
}
在将数据拉入多个列表后,我使用了一种线性插值方法,该方法适用于当前正在工作的排序列表,但前提是我事先知道数据类型(目前使用的是双精度数据)。
我被困在这里:我希望这种方法能够从数据表预先(从列?)确定数据类型并在row.Field&lt;&gt; list.Add。
的扩展名我没有运气在row.Field&lt;&gt;中使用类型/类型代码变量(这是否可能?)通过类似的东西:
System.Type tc = System.Type.GetType(tdt.Table.Columns["R"].DataType.ToString());
freqlist.Add(row.Field <tc> ("FREQ"));
有没有人知道使用类型检查结果的另一种方式?
另外,有没有更好的方法在没有列表的情况下对表本身进行插值?
答案 0 :(得分:0)
真的,要排序你只需要实现IComparable
的类。
那么,如果您使用Field<double>
而不是Field<IComparable>
,那该怎么办? double
实现了IComparable。 short,int等也是如此。