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