using System.Collections.Generic;
public static void Main()
var filterIds = new int[] {1};
var facilities1 = new List<int> {1, 3};
var facilities2 = new List<int> {1, 2, 3};
var facilities3 = new List<int> {1, 4};
var temp = new List<int> {1, 2};
var rooms = new List<Room>()
new Room() {Id = 1, Facilities = facilities1},
new Room() {Id = 2, Facilities = facilities2},
new Room() {Id = 3, Facilities = facilities3},
var roomsWithSelectedFacilities = rooms.Where(room => temp.All(x => room.Facilities.Contains(x)));
foreach (var room in roomsWithSelectedFacilities)
Console.WriteLine(room.Id);
public int Id { get; set; }
public List<int> Facilities { get; set; }
public int Id { get; set; }
public string Name {get;set;}