2010-03-02 112 views
3

新增LINQ &想知道爲什麼錯誤&最好的解決方法。C# - Linq to SQL,類型轉換錯誤

我得到,'不能隱式轉換類型'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); 

回答

6

的從結果是一個IEnumerable,你需要創建一個列表來保存它。

result1=(from name in names 
        where name.Contains("a2") 
        select name).ToList(); 

所以可以簡單:在你的LINQ查詢月底.ToList()

List<string> result1 = (from name in names 
           where name.Contains("a2") 
           select name).ToList(); 
+0

啊,很漂亮,謝謝你。 – SoftwareGeek 2010-03-02 23:31:01

3

投擲。

result1=(from name in names 
    where name.Contains("a2") 
    select name).ToList(); 
1

或者使用LINQ的函數語法:

result1 = names.where(x => x.Contains("a2")).ToList(); 
+0

你是否把它看作'x去name.contains ...'? – SoftwareGeek 2010-03-02 23:30:18

+2

閱讀它作爲在哪裏(爲每個項目(x)的名稱運行測試x.Contains(...) – 2010-03-02 23:33:54

+0

@preet - 看到你的個人資料,很有幽默感! – SoftwareGeek 2010-03-02 23:38:39