Привет, ребята!
Продолжаем знакомиться с нововведениями языка.
#полезные_материалы@csharp_publics
Помните удобный оператор
^, который позволяет обращаться к элементам массива или коллекции с конца? Раньше его нельзя было использовать при создании объектов через фигурные скобки
{ }. В C# 13 это ограничение сняли
🔹 Как было раньше:
var buf = new Buffer();
buf[^1] = 5; // отдельно после создания
buf[^3] = 3;
// Или так, но только с начала:
var buf2 = new Buffer
{
[4] = 5, // последний, если знаем, что длина 5
[2] = 3
};
🔹 Как стало:
var buf = new Buffer
{
[^1] = 5, // последний
[^3] = 3 // третий с конца
};
🛠 Где работает?
В обычных массивах и коллекциях
В кастомных индексаторах (
this[Index index])В инициализаторах свойств объектов
💡 Зачем это нужно?
Меньше арифметики, меньше опечаток, код читается буквально как «последний элемент», «предпоследний» и т.д. Особенно удобно при работе с фиксированными буферами, заголовками протоколов или когда логически важны именно хвостовые элементы.
Компилятор сам подставит правильные индексы от начала, так что производительность не страдает.
💬 А ты знал про это фичу C# 13?
Ставь реакцию
👍 знал
😳 не знал