string.Join
это не то, почему нет именно конструктора.
Потому что, уже есть другие способы, вот и смысла в написании ктора нет
есть, внутрений стринг может хитрить, и сделать эту операцию максимально дешевой с одним выделением памяти, а так если ты хочешь решить задачу выше "нормально" нужно использовать span
Тебе в любом случае, нужно крутить IEnumerable
ну пусть крутится мне то что, главное чтобы лишние строки не создавались и не напрягали gc просто так, как это делает string.join (или потенциально может делать)
https://source.dot.net/#System.Private.CoreLib/src/libraries/System.Private.CoreLib/src/System/String.Manipulation.cs,5ba668db2959f733
так ты его передаешь (capacity)
Мне он все еще неизвестен
так этот capacity и есть количество элементов в ienumerable, если он окажется меньше то начнется расширение в билдере
Так я не знаю сколько их там
а если знаешь
Если знаю, значит у меня уже не IEnumerable!
ну если сделал Select, но при этом точно знаешь размер
Если тебе важны эти наносеки, значит ты уже свернул не туда
это не наносеки, это GC потенциально бесконечное количество времени. Да и меня интересует не производительность, а в целом почему такую фичу не сделать, даже если это и будут байтоебы использовать, в любом случае иногда это нужно
Обсуждают сегодня