У меня есть список кэшированных данныхвыполнения запроса из кэшированных данных, простое утверждение 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» за пределами своего цикла, кстати? И я полагаю, что вы на самом деле выполняете какую-то полезную работу в цикле?) –
now cityName объявлен как должен (слева по ошибке за пределами выражения linq). c.Name - строка. Проблема остается. Я перебираю someData для генерации списка viewmodels, чтобы использовать его дальше. Я получаю ошибку по ключевому слову select в выражении linq. – user1765862
Это не должно компилироваться, потому что вы пытаетесь присвоить IEnumerable строке в вашем примере. Можете ли вы предоставить часть фактического (компиляционного) кода? –