РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
130 of 723 menu

Оператор ?[]

Оператор ?[] в Dart используется для безопасного доступа к элементам списков или других коллекций по индексу. Если объект, у которого запрашивается элемент, равен null, то операция не выбрасывает исключение, а сразу возвращает null. В качестве параметра оператор принимает индекс элемента, к которому нужно получить доступ.

Синтаксис

object?[index]

Пример

Давайте попробуем обратиться к элементу списка, который равен null, используя обычный доступ по индексу [] и безопасный ?[]:

void main() { List<String>? list = null; // print(list[0]); // Ошибка выполнения print(list?[0]); }

Результат выполнения кода:

null

Пример

Если же список не равен null, оператор работает как обычный доступ по индексу и возвращает значение элемента:

void main() { List<String>? list = ['a', 'b', 'c', 'd', 'e']; print(list?[2]); }

Результат выполнения кода:

"c"

Пример

Оператор ?[] также можно использовать для доступа к значениям в Map, если сама мапа может быть null. При этом ключ передается в квадратных скобках:

void main() { Map<String, int>? map = null; print(map?['key']); }

Результат выполнения кода:

null

Смотрите также

  • оператор ?.,
    который безопасно вызывает метод или свойство
  • оператор ??,
    который возвращает значение по умолчанию
  • оператор !,
    который утверждает, что значение не null
  • тип Nullable,
    который допускает значение null
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить