我有一个只有一行的数据表。但它有44列。我的任务是从第4行到结尾获取列。
从此以后,我完成了以下适合我要求的计划。 (请注意,dt是数据表)
List<decimal> lstDr = new List<decimal>();
Enumerable.Range(0, dt.Columns.Count).ToList().ForEach(i =>
{
if (i > 3)
lstDr.Add(Convert.ToDecimal(dt.Rows[0][i]));
}
);
该计划没有任何危害。工作正常。
但是我觉得有一个更好的方法可以通过Skip ot Take或TakeWhile或其他任何东西来实现程序。
我正在寻找一个比我实施的更好的解决方案。
有可能吗?
我正在使用c#3.0
感谢。
答案 0 :(得分:0)
这应该这样做:
List<Decimal> lstDr =
dt.Rows[0].ItemArray
.Skip(3)
.Select(o => Convert.ToDecimal(o))
.ToList();