通过LINQ获取字符串列表
本文关键字:列表 字符串 获取 LINQ 通过 | 更新日期: 2023-09-27 18:28:51
我试图在下面的代码中获得一个字符串列表,并且在select
上得到一个如下所示的列表:
无法隐式转换类型'System.Data.EnumerableRowCollection>'到'系统.集合.通用.列表>'
List<List<string>> rows = (from myRow in data.AsEnumerable()
select new List<string> {myRow["FirstName"].ToString(),
myRow["LastName"].ToString(),
myRow["Department"].ToString(),
myRow["Birthdate"].ToString(),
myRow["Description"].ToString()
});
如何获取字符串列表?
Linq正在处理可枚举对象(IEnumerable)。您需要转换为列表:
List<List<string>> rows = (from myRow in data.AsEnumerable()
select new List<string> {myRow["FirstName"].ToString(),
myRow["LastName"].ToString(),
myRow["Department"].ToString(),
myRow["Birthdate"].ToString(),
myRow["Description"].ToString()
}).ToList();
方法语法更简洁:
List<List<string>> rows = data.AsEnumerable()
.Select(r => r.ItemArray.Select(o => o + "").ToList())
.ToList();
"half"查询语法:
rows = (from row in data.AsEnumerable()
select row.ItemArray.Select(o => o + "").ToList())
.ToList();