Если вы действительно хотите использовать LINQ, одним из способов будет сохранение коллекции кортежей, которые представляют каждый из случаев (верхние границы), а затем используйте Enumerable.Any
метод проверки, если пара (x, y)
удовлетворяет любому из возможных условий.
Пример (на самом деле вы можете создать коллекцию один раз и продлить срок ее службы, возможно, с помощью ссылки на поле):
var bounds = new Dictionary<int, int>
{
{20, 5},
{30, 10},
{50, 15},
{70, 20},
{70, 30}
}.Select(kvp => new { XUpperBound = kvp.Key, YUpperBound = kvp.Value });
if (bounds.Any(tuple => x <= tuple.XUpperBound && y <= tuple.YUpperBound))
{
...
}