Цикл от 0x0000 до 0xFFFF

Если я правильно понял ваши требования и вам нужно регулярное выражение для соответствия только по ссылке, указанной в профиле, следующее должно соответствовать вашему требованию:

^http(s)?:\/\/(www\.)?linkedin\.com\/in\/.*$

<form>
  <input pattern="^http(s)?:\/\/(www\.)?linkedin\.com\/in\/.*$" />
  <button>Submit</button>
</form>
[1112 ]


Если вам нужно проверить, что вход является действительной ссылкой, и вставить ее где-нибудь в DOM, используя Jquery, вы можете сделать это следующим образом:

$(".user-linkedin").on('input', function(event) {
  var validLink = /^http(s)?:\/\/(www\.)?linkedin\.com\/in\/.*$/.test(event.target.value)
    ? event.target.value
    : '';
  $(".linkedin-link")
    .text(validLink || 'invalid link')
    .attr("href", validLink);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="user-linkedin" />
<br>
Link: <a href="" class="linkedin-link"></a>

6
задан Robert 23 October 2008 в 19:25
поделиться

5 ответов

Используйте a do...while цикл

ushort i = 0;
do
{
    // do something
} while(i++ < UInt16.MaxValue);

Существует интересное обсуждение тестовых шлейфов наверху по сравнению с нижней частью здесь.

17
ответ дан 8 December 2019 в 03:40
поделиться

UInt16.MaxValue оценивает к 0xffff, нет 0x10000. Я думаю, что можно сделать это с a do/while цикл, как вариация на ответ burkhard1979.

ushort i = 0;
do {
   ...
} while (++i != 0);
5
ответ дан 8 December 2019 в 03:40
поделиться

Вы могли просто заменить для циклом с условием продолжения.

ushort i = 0;
do
{
i++;
...
} while(i!=UInt16.MaxValue);
4
ответ дан 8 December 2019 в 03:40
поделиться

Предположение, что код страдает от прочь одной ошибкой (текущий код, остановки прежде, чем оценить окончательное значение. Затем следующее могло бы ответить Вам.

Очень простой, поскольку Ваш счетчик является целым числом без знака на 16 битов, он не может иметь значений, больше, чем 0xffff, поскольку то значение все еще допустимо, у Вас должно быть некоторое значение, которое расширяется кроме того как защита. Однако добавление 1 кому: 0xffff в 16 битах просто повторяется к 0. Как предложено, любое использование делают цикл с условием продолжения (которому не нужно защитное значение), или используйте большее значение для содержания счетчика.

PS. Используя переменные на 16 битов на современных машинах на самом деле менее эффективно, чем использование переменных на 32 бита, поскольку никакой водосливный код не должен быть сгенерирован.

1
ответ дан 8 December 2019 в 03:40
поделиться

это должно быть короткое? почему не просто

for(int i = 0;i<=0xFFFF;i++)
{
  //do whatever
}
1
ответ дан 8 December 2019 в 03:40
поделиться
Другие вопросы по тегам:

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