В зависимости от того, как JIT оптимизирует его, либо метод string.Concat (), либо метод Marc с StringBuilder могут быть быстрее. Поскольку вы используете Linq здесь, я предполагаю, что производительность не является абсолютным требованием № 1, и в этом случае я бы выбрал самое простое для чтения:
string.Concat(data.ToArray());
Редактировать: если и только если данные IEnumerable типа значения , вам необходимо преобразовать их в IEnumerable :
string.Concat(data.Cast<object>().ToArray())
Редактировать 2: Я не имею в виду, что Линк медлителен. Я имею в виду только то, что разница в скорости между двумя упомянутыми мною способами должна быть чрезвычайно минимальной, если даже измеримой.
Редактировать 3: JIT оптимизирует почти все операции с классом String, поэтому одиночный вызов внутренней среды исполнения string.Concat действительно может быть быстрее, чем использование StringBuilder. Я не уверен, что это так, но вы должны проверить это, чтобы убедиться.