C# - Linq to SQL,类型转换错误

时间:2010-03-02 23:25:40

标签: c# linq-to-sql types

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);

3 个答案:

答案 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();