转换数据集为list和list< string>c#
本文关键字:list string 数据集 转换 double | 更新日期: 2023-09-27 17:50:34
我的数据是这样的:
+=======+========+
| year |sales |
+=======+========+
| 2008 |100000 |
| 2009 |120040 |
| 2010 |239000 |
| 2011 |300900 |
| 2012 |200900 |
+=======+========+
我可以将数据集转换为双精度和字符串列表吗?数据集的第一列为list<string>
,第二列为list<double>
有解决方案吗?由于
我想知道为什么一年是一个字符串,但是…
List<string> years = dataSet.Tables[0].AsEnumerable()
.Select(r => r.Field<string>(0))
.ToList();
List<double> doubles = dataSet.Tables[0].AsEnumerable()
.Select(r => r.Field<double>(1))
.ToList();
注意需要添加using System.Linq;
。
您可以使用Field
扩展方法与DataRow
中的列的序数或通过它的名称:r.Field<string>("year")
试试;
List<string> years = dataSet.Tables[0].AsEnumerable()
.Select(n => n.Field<string>(0))
.ToList();
sales
列,(1)
列。
不要忘记添加System.Data.DataSetExtensions
命名空间。还可以查看from MSDN DataTableExtensions.AsEnumerable()方法。
返回一个IEnumerable对象,其中泛型形参T所在我们应该。该对象可用于LINQ表达式或方法查询。
1)
var myyear = ds.Tables[0].AsEnumerable()
.Select(r => new {
column1 = r.Field<string>("year")
});
List<string> year = myyear.ToList();
2)
var mysales = ds.Tables[0].AsEnumerable()
.Select(r => new {
column2 = r.Field<double>("sales")
});
List<double> sales = mysales.ToList();