<отладка компиляции = “верный”> в предварительно скомпилированном веб-сайте asp.net - это имеет значение?

Создайте объект StringBuilder из вашей строки и используйте метод charAt .

https://www.tutorialspoint.com/java/lang/stringbuilder_charat.htm

А затем позвоните toString.

int replacePosition = 5;//Choose it.
String inputStr = getYourString();
StringBuilder sb = new StringBuilder(inputStr);
sb.chrAt(replacePosition);
String result = sb.toString();

Если у вас есть строка, и вы хотите заменить только один ее символ, который повторяется по крайней мере n раз, и заменить его n-м вхождением (в вашем примере это пять), то вам нужно сначала найдите его положение, а затем примените решение, используя StringBuilder.charAt () .

Чтобы найти индекс вашего персонажа, вы можете просто просмотреть циклы или использовать метод indexOf () https://docs.oracle.com/javase/7/docs/api/ java / lang / String.html # indexOf (int,% 20int)

n раз каждый раз с новой стартовой позицией из предыдущего вызова, если предыдущий indexOf был положительным.

14
задан this. __curious_geek 29 April 2009 в 11:06
поделиться

3 ответа

Ознакомьтесь с отличными ссылками ниже:

В основном:

  • Ваш код будет работать медленнее из-за накладных расходов на поддержку отладки.
  • Скрипты и изображения не кэшируются на стороне клиента, потому что вы не хотите, чтобы что-то происходило кэшируется в разработке, если вы постоянно вносите изменения и отлаживаете.
  • Запросы не истекают. Опять же, когда вы отлаживаете код, вы не хотите получать тайм-аут запроса.

Ничего из вышеперечисленного нежелательно. Вы найдете больше недостатков в приведенных выше ссылках.

26
ответ дан 1 December 2019 в 09:02
поделиться

According to the documentation:

Specifies whether to compile debug binaries rather than retail binaries

However, having just quickly reflected through System.Web, I can see the debug flag is used (directly or indirectly) by the following:

  • Runtime compilation (ASPX/ASCX/MASTER)
  • Code generation of the browser capabilities files
  • HttpDebugHandler, which is used during a debugging session

As a result, if your site is precompiled you will not receive a performance hit. However, as the HttpApplication will respond to the DEBUG http verb, you open yourself up to security problems.

In short, set debug=false, even if your site is precompiled.

Edit: debug=true will result in a performance (see Mehmet Aras's answer) hit for caching and no execution timeout, but it will not reduce execution speed for compiled pages.

2
ответ дан 1 December 2019 в 09:02
поделиться

Из поста блога ASP.Net - Никогда больше не бойтесь публиковать ваш сайт с debug = true :

  • Компиляция страниц ASP.NET занимает больше времени (как пакет компиляция выключена)
  • Код обычно выполняется медленнее
  • Объем памяти увеличивается
  • Скрипты и изображения, загруженные из обработчика WebResources.axd, не кэшируются
  • Запросы не прерываются (это плохо, как в производственная среда, в которой мы не хотим, чтобы запросы зависали на неопределенное время)

Далее в статье рекомендуется установить рабочий сервер machine.config, чтобы обеспечить принудительный режим развертывания в розничной торговле, что по сути означает, что отладка всегда ложна.

2
ответ дан 1 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

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