Начиная с C # 8.0
Будет поддерживаться срез массива, а также добавляются новые типы Index
и Range
.
Index i1 = 3; // number 3 from beginning
Index i2 = ^4; // number 4 from end
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
var slice = a[i1..i2]; // { 3, 4, 5 }
префикс ^
указывает счет от end массива.
Пример кода выше, взятый из блога C # 8.0 .
Range
и Index
также работают с циклами foreach
Range range = 1..4;
foreach (var name in names[range])
Перебирает записи с 1 по 4
обратите внимание, что на момент написания этого ответа C # 8.0 еще не был официально выпущен