Вы также можете использовать string.Concat
var cs = new char[] {'s','f','f'};
Console.WriteLine(string.Concat(cs));
выход
sff
Однако именно поэтому вы не используете string.Concat
Тесты
Протестировано 1000 раз по каждой шкале (размер массива char), мусор перед каждым запуском и 75% лучших результатов подсчитано
┌──────────────────┬────────────────────────────────────────────┐
│ Test Mode │ Release (64Bit) │
│ Test Framework │ .NET Framework 4.7.1 (CLR 4.0.30319.42000) │
╞══════════════════╪════════════════════════════════════════════╡
│ Operating System │ Microsoft Windows 10 Pro │
│ Version │ 10.0.17763 │
├──────────────────┼────────────────────────────────────────────┤
│ CPU System │ Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz │
│ CPU Description │ Intel64 Family 6 Model 158 Stepping 9 │
├──────────────────┼──────────┬──────────────────┬──────────────┤
│ Cores (Threads) │ 4 (8) │ Architecture │ x64 │
│ Clock Speed │ 3600 MHz │ Bus Speed │ 100 MHz │
│ L2Cache │ 1 MB │ L3Cache │ 8 MB │
└──────────────────┴──────────┴──────────────────┴──────────────┘
Результаты
┌── Standard input ────────────────────────────────────────────────────────────┐
│ Value │ Average │ Fastest │ Cycles │ Garbage │ Test │ Gain │
├── Scale 10 ───────────────────────────────────────────────────── 0.103 sec ──┤
│ new │ 1.492 µs │ 800.000 ns │ 8.408 K │ 0.000 B │ Base │ 0.00 % │
│ Concat │ 3.128 µs │ 1.600 µs │ 14.210 K │ 0.000 B │ Pass │ -109.65 % │
├── Scale 100 ──────────────────────────────────────────────────── 0.095 sec ──┤
│ new │ 1.501 µs │ 800.000 ns │ 8.474 K │ 0.000 B │ Base │ 0.00 % │
│ Concat │ 3.772 µs │ 2.700 µs │ 16.621 K │ 0.000 B │ Pass │ -151.23 % │
├── Scale 1,000 ────────────────────────────────────────────────── 0.098 sec ──┤
│ new │ 1.932 µs │ 800.000 ns │ 9.949 K │ 0.000 B │ Base │ 0.00 % │
│ Concat │ 18.724 µs │ 15.400 µs │ 70.817 K │ 0.000 B │ Pass │ -868.93 % │
├── Scale 10,000 ───────────────────────────────────────────────── 0.123 sec ──┤
│ new │ 4.843 µs │ 1.700 µs │ 21.343 K │ 0.000 B │ Base │ 0.00 % │
│ Concat │ 143.127 µs │ 140.900 µs │ 518.406 K │ 0.000 B │ Pass │ -2,855.53 % │
├── Scale 100,000 ──────────────────────────────────────────────── 0.306 sec ──┤
│ new │ 14.013 µs │ 13.900 µs │ 53.592 K │ 0.000 B │ Base │ 0.00 % │
│ Concat │ 1.421 ms │ 1.378 ms │ 5.118 M │ 0.000 B │ Pass │ -10,041.75 % │
└──────────────────────────────────────────────────────────────────────────────┘
Код
[Test("new", "", true)]
public string Test1(char[] input, int scale)
{
return new string(input);
}
[Test("Concat", "", false)]
public string Test2(char[] input, int scale)
{
return string.Concat(input);
}