Create RangeArray

В C# индексация массивов начинается с нуля. Однако в некоторых
приложениях было бы удобно начинать индексацию массивов с произвольного числа,
например с единицы или даже с отрицательного числа, чтобы индексы изменялись в
диапазоне от -5 до 5. Приведенный здесь класс RangeArray как раз и позволяет подобные способы индексации массивов.
При использовании класса RangeArray можно написать такие строки кода:
RangeArray rа = new RangeArray(-5, 10); // Массив с
// индексами от -5 до 10.
for(int i = -5; i <= 10; i++) ra[i] = i; // Индекс
// изменяется от -5 до 10.