gpt4 book ai didi

c# - 无法将类型 'System.Data.EnumerableRowCollection' 转换为 generic.list

转载 作者:行者123 更新时间:2023-11-30 23:08:37 24 4
gpt4 key购买 nike

我有一个类R具有一些属性。

同样我有一个DataTable dt列与类的属性完全相同 R

我正在尝试创建 2 个不同的 DataTables从上面说DataTable dt基于 dt 的其中一列的条件.

我想转换这些 2 Datatables进入 ListR对象。

这就是我现在尝试的方式:

List<R> Sheet1 = dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80));

List<R> Sheet2 = dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) > Convert.ToDecimal(80));

但是它抛出一个错误:

Cannot convert type 'System.Data.EnumerableRowCollection' to generic.list

我尝试了各种转换但没有用:

List<R> Sheet1 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80));

List<R> Sheet2 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) > Convert.ToDecimal(80));

List<R> Sheet1 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80))
.ToList();

List<R> Sheet2 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) > Convert.ToDecimal(80))
.ToList();

最佳答案

你的 Where语句正在返回 EnumerableRowCollection<DataRow> .您需要选择 ListR从您的查询中使它起作用:

List<R> Sheet1 = dt.AsEnumerable().
Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80))
.Select(c => new R
{ SomeDecimalColumn = Convert.ToDecimal(c["SomeDecimalColumn"]) /*other propertie*/ })
.ToList();

关于c# - 无法将类型 'System.Data.EnumerableRowCollection<System.Data.DataRow>' 转换为 generic.list<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46406572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com