string.split
начинается со строки , а заканчивается массивом строк и
очень быстро Он использует небезопасный код для определения индексов разделителей. Затем он выделяет массив правильного размера, а затем вырезает исходную строку, выделяя кучу других строк.
string.join
начинается с массива строк , а заканчивается строкой , а также очень быстр и использует небезопасный код. Он создает буфер и добавляет в буфер каждый элемент в строке, увеличивая строку по мере ее поступления.
Но так как вы хотите Начать со строки и и завершить строкой , лучше всего использовать метод, который использует небезопасный код для замены '' на ',' ,
string s1 = "Hellow world how are you";
fixed (char* p = s1)
{
for (int i = 0; i < s1.Length; i++)
{
if (p[i] == ' ')
{
p[i] = ',';
}
}
}
Это действительно плохая идея
- Это работает только потому, что источник и цель имеют одинаковую длину
- Требуется небезопасный код
- Поскольку я изменяю строку напрямую, все ссылки на строку обновляются
- Вероятно, есть куча проверок, которые мне не хватает
- Это только немного быстрее, чем
string.replace
Просто используйте String.Replace
, если вам действительно нужно, чтобы он был очень быстрым и очень безопасным