从通用列表转换错误到通用列表
本文关键字:列表 string 错误 Datarow 转换 | 更新日期: 2023-09-27 18:02:36
下面有代码
List<string> esfa = NewTable.AsEnumerable().Where(row => row.Field<string>("Select")
=="true").ToList();
编译出错
不能隐式地将类型
'System.Collections.Generic.List<System.Data.Datarow>'
转换为'System.Collections.Generic.List<string>'
请帮。
是的。您的过滤由Select
字段-但该过滤的结果仍然是行序列。我希望这是您想要的—毕竟,您知道每行中Select
字段的值,因此这不会很有趣……
我想你可能只是想:
List<DataRow> rows = NewTable.AsEnumerable()
.Where(row => row.Field<string>("Select") == "true")
.ToList();
(注意,像这样将代码分成多行可以极大地提高可读性。)
如果你真的想要其他字段的值,你可能想要这样:
List<string> rows = NewTable.AsEnumerable()
.Where(row => row.Field<string>("Select") == "true")
.Select(row => row.Field<string>("LastName"))
.ToList();
try this:
List<string> esfa = db.AsEnumerable()
.Where(row => row.Field<string>("Select") == "true")
.Select(s => s.Field<string>("Select"))
.ToList();
linq .Select
使您能够选择当前集合的任何属性。使用除"选择"列以外的任何其他有用字段