私は2つのリストを持っています:
を。リクエストされたアメニティ b. アメニティ付きのユニット。
「リクエストされたアメニティ」のいずれかを持つユニットをフィルタリングしたいと思います。ループを使用して同じ結果を達成しようとしましたが、foreach
LINQ を使用するとはるかに簡単になるはずです。誰か助けて\アドバイスくれませんか?
UnitAmenities unitSearchRequestAmenities = unitSearchRequest.Amenities;
var exactMatchApartmentsFilteredByAmenities= new Units();
IEnumerable<string> requestAmenitiesIds = unitSearchRequestAmenities.Select(element => element.ID);
foreach (var unitCounter in ExactMatchApartments)
{
IEnumerable<string> unitAmenities = unitCounter.Amenities.Select(element => element.ID);
foreach (var requestAmenityId in requestAmenitiesIds)
{
foreach (var unitAmenity in unitAmenities)
{
if (requestAmenityId == unitAmenity)
{
exactMatchApartmentsFilteredByAmenities.Add(unitCounter);
//break to the outmost foreach loop
}
}
}
}