我有數據緩存查詢,簡單的LINQ聲明
private static List<City> CachedCities
{
get { ... }
}
從緩存列表
現在的名單我想提取使用LINQ
private someOtherMethod()
{
foreach (var item in someData) {
string cityName = from c in CachedCities where c.Id == item.Address.CityId select c.Name;
...
}
}
我對LINQ收到錯誤以下聲明
錯誤1無法隱式轉換類型
'System.Collections.Generic.IEnumerable<string>'
至'string'
。有 顯式轉換存在(您是否缺少演員?)
p.s. c.Id和Address.CityId都是字符串。
那麼想必'city.Name'被聲明爲IEnumerable的''。沒有一個完整的例子很難說。 (順便說一句,你爲什麼要在循環外聲明'cityName'?我假設你實際上在循環中做了一些有用的工作?) –
2015-04-05 12:43:27
現在cityName被聲明爲它應該(在linq語句之外被錯誤留下)。 c.Name是字符串。問題依舊。我迭代通過someData來生成viewmodels列表以進一步使用它。我在linq語句中選擇關鍵字時出錯。 – user1765862 2015-04-05 12:49:14
這甚至不應該編譯,因爲您試圖在示例中爲IEnumerable分配一個字符串。你能提供實際(編譯)代碼的一部分嗎? –
2015-04-05 12:53:34