次のような 2 つのリストの違いを取得するために、C# 4.0 で IEnumerable.Except 関数を使用しようとしています。
//Function to get only available rooms out of all rooms of the hotel...
public IEnumerable<Room> GetAvailableRooms(DateTime arrival, DateTime leaving)
{
//.....
foreach (Room value in v)
room_list.Add(value);
return (dal.GetAllRooms()).Except(room_list);
}
しかし、この関数は機能しません - room_list のアイテムは削除されません。
(デバッグでチェックインしたところ、room_list に必要な値が含まれています)
dal.GetAllRooms は、データ アクセス層の xml ファイルからすべての部屋を取得する関数です。
リスト(xmlではなく)でDAL実装を使用すると、まったく同じ関数が正常に機能するため、問題はxmlに関するものであると確信しています。