Определите лучше. В чем недостаток ArraySegment? Какая проблема у вас, что это не решает?
Редактировать : Хорошо, теперь я понимаю вашу точку зрения, но это неправильно. Это может быть ошибкой в том смысле, что вы чувствуете, что должны делать больше, но они делают именно то, что должны делать. Он позволяет передавать информацию в фрагмент кода о массиве, который вы хотите использовать, и о том, какую часть массива использовать.
Он не предоставляет IEnumerable или что-то, что дает вам узкое представление о массиве, т.е. x [0] не дает вам первый элемент сегмента, и вы не можете рассматривать его как элемент.
Так что да, это довольно бесполезно само по себе, но вы не смогли бы получить что-то, что является массивом в глубине, и все же также является сегментом большего массива.
Вы можете легко создать свой собственный класс, подобный коллекции, который ссылается на массив и использует массив в качестве хранилища, а также обеспечивает индексацию, перечисление и т. Д.
Но это не то, что делает эта структура. Я предполагаю, что главная проблема здесь в том, что они заставили вас ожидать большего от его имени.