Оператор диапазона
Оператор .. задаёт полуинтервал: начало
включено, конец - нет. Для строки "abcde"
выражение [1..4] даёт "bcd".
Тот же синтаксис работает для массивов и
других типов с индексаторами.
Синтаксис
коллекция[начало..конец]
коллекция[начало..]
коллекция[..конец]
Пример
Давайте вырежем подстроку из "abcde"
с позиции 1 до 4:
using System;
class Program
{
static void Main()
{
string str = "abcde";
Console.WriteLine(str[1..4]);
}
}
Результат выполнения кода:
"bcd"
Пример
Давайте возьмём срез массива с теми же границами:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
int[] res = nums[1..4];
Console.WriteLine(string.Join(" ", res));
}
}
Результат выполнения кода:
2 3 4
Пример
Давайте возьмём все символы от индекса 2
до конца строки:
using System;
class Program
{
static void Main()
{
string str = "abcde";
Console.WriteLine(str[2..]);
}
}
Результат выполнения кода:
"cde"
Пример
Давайте возьмём начало строки до индекса 3:
using System;
class Program
{
static void Main()
{
string str = "abcde";
Console.WriteLine(str[..3]);
}
}
Результат выполнения кода:
"abc"
Смотрите также
-
индекс с конца,
который считает позиции с хвоста -
выражение
коллекции,
которое создаёт массив или список -
цикл
foreach,
который обходит элементы по порядку -
оператор
spread,
который вставляет элементы в новую коллекцию