Я давно пользуюсь C #, и, насколько я знаю, ответ - нет.
У вас есть два варианта:
1.) Использованиеесли проверить, чтобы замкнуть логику и пропустить ее, если в этом нет необходимости.Это должно быть самое быстрое для выполнения, в среднем.
2.) Использование троичного оператора для проверки и назначения в одной строке.В зависимости от промежуточного компилятора, это может быть немного медленнее, но это должен быть самый короткий код для достижения этого эффекта (по крайней мере, читабельный).
В конечном счете, проблема сводится к тому, что строки эффективно неизменяемымассивы.Назначения выполняются так же быстро, как и целое число, если строка уже находится в памяти (как это было бы, поскольку вы ссылаетесь на существующие переменные), но проверка на пустое и пустое - это как минимум две проверки (проверка на нулевое значение и проверка длины), которые могутНе следует поддерживать функциональность.Дополнительное назначение в троичной программе - действительно единственная переменная для скорости выполнения (тогда как версия if закорачивает ее, когда она равна нулю).
Так что, несмотря ни на что, вам нужно будет выполнять проверки, ивыполнить назначение, если это необходимо.В конечном счете, я не вижу способа избежать этого, поэтому он не может стать быстрее / короче, чем эти два варианта использования.