-1
我有一個類,其中包含一個int,字符串和其他類的指針。我試圖提取字符串並在select.Distinct之前對它們執行子字符串操作。我的LINQ代碼看起來正確一個簡單的LINQ查詢開始一天
List<string> crops = (from m in cropTypes
let cw = m.CropName
let kw = cw.Substring(0, cw.LastIndexOf(")") + 1)
select(kw).Distinct()).ToList();
我也曾嘗試
var crop = …
List<string> crops = crop.ToList();
當我嘗試編譯,我得到
無法隱式轉換類型
System.Collections.Generic.List<System.Collections.Generic.IEnumerable<char>> to System.Collections.Generic.List<System.Collections.Generic.IEnumerable<string>>
上ToList()行。
m.CropName絕對是一個字符串
爲什麼編譯器認爲我使用一個char列表,而不是一個字符串列表,如何解決這個問題。
沒有什麼比一個簡單的問題在一天的開始就讓你受傷!
試試這個IEnumerable crop = ....並刪除.ToList(); –
MMK
因爲您正在對字符串對象執行操作。 'let cw = m.CropName'這裏'CropName'是字符串類型,不是'IEnumerable'。所以如果你在字符串上執行'Distinct',那麼它會返回你'IEnumerable ' –
vijay
試試這個lambda表達式。 'cropTypes.Select(c => c.CropName.Substring(0,c.CropName.LastIndexOf(「)」)+ 1))。Distinct()。ToList();' – vijay