geoSettings
- это IEnumerable.geoSettings.loc
не .(Я предполагаю, что вы имеете в виду loc
, а не Location
, потому что ваш код не содержит последнего ...)
Чтобы вы могли лучше понять, что я имею в виду, обратите внимание, что geoSettings[n].loc
допустимоно geoSettings.loc[n]
- это не так.
Итак ... вам нужно будет использовать Any()
вместо Contains()
, как в «если что-либо в моей коллекции элементов geoSettings имеет подходящее местоположение»:
var flightCheck = from x in baseStations.Elements("BaseStation").Elements("Station")
where geoSettings.Any(geo => geo.loc.Contains(x.Element("Location").Value)
select new
{
Flights = x.Element("FlightName").Value,
loc = x.Element("Location").Value
};
Примечание: если вы действительно выбираете только одно значение в geoSettings
, вместо того, чтобы делать его коллекцией анонимных типов (с одним свойством loc
), просто сделайтеэто коллекция строк и выберите только значение.Тогда вы можете использовать Contains()
и сохранить целую кучу новых объектов.