Как лаконично проверить структуру массива или кортежа?

Как лаконично проверить структуру массива или кортежа?

С выходом C# 11 стали доступны списковые паттерны (list patterns), которые позволяют сопоставлять коллекции по элементам, как с начала, так и с конца — просто, читаемо и без лишних условий.

Первое условие проверяет, что массив начинается на 1, 2, заканчивается 10, и содержит что угодно посередине (..). Это особенно полезно при валидации данных, когда важна структура последовательности, но не все элементы. Списковые паттерны упрощают такие проверки, делая код более декларативным и понятным.

Второе — определяет, что точка находится в первой четверти, если обе координаты больше нуля. Такой подход позволяет сопоставлять элементы кортежей напрямую в условиях, избегая промежуточных переменных. Это делает логику более компактной и выразительной, особенно при работе с координатами, диапазонами или другими структурированными данными.

Списковые паттерны также поддерживают вложенные проверки, сопоставление с отбросом (_), и комбинацию с другими паттернами C#. Они интегрируются с switch-выражениями и pattern matching, предоставляя единообразный способ работы с различными структурами данных. Это существенно сокращает количество boilerplate-кода и улучшает читаемость при работе с массивами, списками, кортежами и другими индексируемыми коллекциями.

Ещё больше полезного контента в телеграмм канале EasyProger -

Начать дискуссию