Вы также сталкиваетесь с :
, если вы используете альтернативный синтаксис для структур управления :
Или, как уже упоминалось, трёхмерный оператор :
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
(Примеры взяты из документации)
Редактирование: каким-то образом я не видел, что альтернативный синтаксис уже упоминался , должно быть слишком устало;) Во всяком случае, я оставлю это как есть, так как я считаю, что фактический пример и ссылка на документацию более полезны, чем простой текст.
Range("U1:U" & LastRow).FormulaR1C1 = $@"=if(rc[-1]=""{qyyyy}"",rc[-15],rc[-14])";
Во-первых, конкатенация строк +
в C # против &
в VB.NET.
Во-вторых, здесь используется интерполяция строк вместо конкатенации, поскольку это избавляет нас от необходимости добавлять дополнительные кавычки для завершения строк.
Это работает так:
var x = 1;
var y = $"The number is {x}.";
// y = "The number is 1."
$
указывает, что строка интерполируется, что означает, что {qyyyy}
преобразуется в строку.
@
перед строкой означает, что символы в строке не экранированы. Это позволяет нам использовать ""
внутри строки для представления одного "
. В противном случае мы должны были бы сделать это:
$"=if(rc[-1]=\"{qyyyy}\",rc[-15],rc[-14])";
... используя \
для экранирования кавычек. Это тоже работает, но мне немного сложнее читать. Для людей, привыкших к определенным языкам, это может быть лучше.