Здравствуйте, Codealot, Вы писали:
C>Здравствуйте, _NN_, Вы писали:
_NN>>Новый синтаксис позволяет записывая одинаковый код получить лучшую производительность.
C>Это результат не синтаксиса, а его реализации. Ничто не мешало просто улучшить старую реализацию.
Вопрос, что вы имеете ввиду под старой реализацией ?
Для Span всегда можно было через stackalloc:
ReadOnlySpan<byte> span = stackalloc byte[10]
{
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
};
А вот для List сложнее.
Ведь семантически
var x = new MyList { a, b, c };
Это всегда будет:
var tmp = new MyList();
tmp.Add(a);
tmp.Add(b);
tmp.Add(c);
var x = tmp;
И здесь нельзя менять семантику потому как на ней завязано достаточно много кода.
Новый синтаскис позволяет вызывать AddRange, что конечно более приемлимо чем вызов Add по отдельности.