Кортежи и диапазоны в C#
Кортеж собирает несколько значений в одном выражении: пару координат, результат метода из двух чисел, имя и количество. Отдельный класс ради двух полей часто не нужен. Значения потом можно разложить обратно по переменным.
Рядом с этим стоит вопрос, как назвать место в массиве или строке. Позиция может считаться с начала или с конца, а отрезок - от одной позиции до другой, в том числе «до самого конца». Такие позиция и отрезок читаются прямо в обращении к элементу, без отдельных вычитаний длины.
Кортеж не заменяет список, а срез не заменяет саму коллекцию. Это короткая запись для нескольких значений и для куска уже имеющейся последовательности.