что эквивалентная функция диапазона (VBA) в C #

Вы также сталкиваетесь с :, если вы используете альтернативный синтаксис для структур управления :


Или, как уже упоминалось, трёхмерный оператор :

$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

(Примеры взяты из документации)


Редактирование: каким-то образом я не видел, что альтернативный синтаксис уже упоминался , должно быть слишком устало;) Во всяком случае, я оставлю это как есть, так как я считаю, что фактический пример и ссылка на документацию более полезны, чем простой текст.

-4
задан Pretasoc 15 January 2019 в 21:32
поделиться

1 ответ

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])";

... используя \ для экранирования кавычек. Это тоже работает, но мне немного сложнее читать. Для людей, привыкших к определенным языкам, это может быть лучше.

0
ответ дан Scott Hannen 15 January 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: