我正在尝试在下面的代码中获取一个字符串列表的列表,并且我在select
上看到:
无法隐式转换类型 'System.Data.EnumerableRowCollection>' 至 'System.Collections.Generic.List>'
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()
});
如何获取字符串列表的列表?
答案 0 :(得分:5)
Linq正在使用enumerables(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();
答案 1 :(得分:2)
方法语法更简洁:
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();