1

我正在寻找一种从数据表中插入数据的方法,并想知道有关最有效的方法的建议。我开始了这样的事情:

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"));
        }

将数据拉入多个列表后,我使用了一种适用于排序列表的线性插值方法,该方法目前正在工作,但前提是我事先知道数据类型(目前使用双精度)。

我被困在这里:我希望这种方法能够事先确定数据表中的数据类型从列中?)并在 list.Add 的 row.Field<> 扩展中使用它。

我没有运气在 row.Field<> 中使用类型/类型代码变量(这甚至可能吗?),如下所示:

System.Type tc = System.Type.GetType(tdt.Table.Columns["R"].DataType.ToString());
    freqlist.Add(row.Field <tc> ("FREQ"));

有谁知道使用类型检查结果的另一种方法?

另外,有没有更好的方法可以在没有列表的情况下对表本身进行插值?

4

1 回答 1

0

真的,要进行排序,您只需要实现IComparable.

那么,如果Field<double>您使用而不是Field<IComparable>怎么办?Adouble实现 IComparable。short、int 等也是如此。

于 2013-08-01T17:01:04.187 回答