String.Split для Span? ⇐ C#

Место общения программистов C#
Anonymous
String.Split для Span?

Сообщение Anonymous »

Мне было интересно, как я могу реализовать метод sring.Split() и существуют ли какие-либо обходные пути, но для ReadOnlySpan или Span в C#, потому что, к сожалению, ReadOnlySpan.Split(), похоже, не существует.
Я не совсем уверен, как добиться желаемого поведения. Вероятно, это можно было бы реализовать, используя объединенную мощь ReadOnlySpan.IndexOf() и ReadOnlySpan.Slice(), но потому что даже поддержка ReadOnlySpan.IndexOf( ) не так уж и хорош (невозможно указать startIndex или Count), я бы предпочел полностью избежать этого.
Я также знаю, что проблема с методом ReadOnlySpan.Split() будет заключаться в том, что невозможно вернуть ReadOnlySpan[] или ReadOnlySpan, потому что это ref структура и, следовательно, она должна быть выделена в стеке, а размещение ее в любой коллекции потребует выделения кучи.
Итак, есть ли у кого-нибудь идеи, как я могу этого добиться?
Редактировать: это должно работать, не зная количества частей вернулся заранее....

Подробнее здесь: https://stackoverflow.com/questions/773 ... t-for-span

Вернуться в «C#»