LINQ&想知道为什么错误&最好的解决方法。
我得到,'不能隐式地将类型'System.Collections.Generic.IEnumerable'转换为'System.Collections.Generic.List'。存在显式转换(您是否错过了演员?)'错误
List<string> names = new List<string>();
names.Add("audi a2");
names.Add("audi a4");
List<string> result1 = new List<string>();
result1=(from name in names
where name.Contains("a2")
select name);
答案 0 :(得分:6)
from的结果是IEnumerable,你需要创建一个列表来保存它。
result1=(from name in names
where name.Contains("a2")
select name).ToList();
所以你可以简单地说:
List<string> result1 = (from name in names
where name.Contains("a2")
select name).ToList();
答案 1 :(得分:3)
在Linq查询结束时抛出.ToList()。
result1=(from name in names
where name.Contains("a2")
select name).ToList();
答案 2 :(得分:1)
或者使用Linq的函数语法:
result1 = names.where(x => x.Contains("a2")).ToList();