If-element в списке
If-element в списке позволяет условно включать
элемент в литерал списка. Если условие истинно,
элемент попадает в список, если ложно - не попадает.
Это особенно удобно при создании списков, состав
которых зависит от некоторых условий. В условии
можно использовать произвольное выражение,
возвращающее значение типа bool.
Синтаксис
[if (condition) element]
[if (condition) element else element]
Пример
Давайте создадим список, в который элемент добавляется только при выполнении условия:
void main()
{
bool test = true;
List<String> res = [
'a',
'b',
if (test) 'c',
'd',
];
print(res);
}
Результат выполнения кода:
[a, b, c, d]
Пример
Давайте сделаем так, чтобы при ложном условии элемент не попадал в список:
void main()
{
bool test = false;
List<String> res = [
'a',
'b',
if (test) 'c',
'd',
];
print(res);
}
Результат выполнения кода:
[a, b, d]
Пример
Конструкция else позволяет указать
альтернативный элемент, который попадёт
в список, если условие ложно:
void main()
{
bool test = false;
List<String> res = [
'a',
'b',
if (test) 'c' else 'x',
'd',
];
print(res);
}
Результат выполнения кода:
[a, b, x, d]
Пример
Условие может быть произвольным выражением, например, сравнением значений:
void main()
{
int num = 3;
List<int> res = [
1,
2,
if (num > 2) 3,
4,
5,
];
print(res);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Смотрите также
-
класс
List,
который представляет список -
литерал
списка,
который создаёт список -
for-element,
который включает элементы в цикле -
spread-оператор,
который разворачивает коллекцию