ROOMPHOTOs is collection of some type, we don't know what so let's say MyType, so it will be something like
List<mytype>
ROOMPHOTOs.Select( c => c.Number )
The Select statement is going to run the code inside the brackets for each item in ROOMPHOTOs, where the item is going to be referred to as "c" so, so c.Number means "the Number property of each MyType in the ROOMPHOTOs collection".
Select outputs a collection itself, and everything in the ( ) is what becomes the new collection. So Select(c => c.Number) is going to return a collection of whatever type Number is. If Number is int then Select will return IEnumerable<int> which will reference a list of all the Number properties of all the MyType items in your ROOMPHOTOs collection.
.Contains(n) will return true if any item in the collection (it is acting on the Select so the IEnumerable<int> list of all the Number properties) matches n. So the code is similar in function to this
foreach (MyType c in ROOMPHOTOs)
{
if (c.Number == n)
{
return true;
}
}