/ / Regex.Match () проти нового Regex (). Матч () чи є різниця? - c #, регулярний вираз

Regex.Match () проти нового Regex (). Матч () чи є різниця? - c #, регулярний вираз

Спеціально до пам'яті тут, б Regex.Match() і new Regex().Match() мати різницю?

Не створивши нове твердження класу Regex, варто придбати більше пам'яті, ніж використовувати Regex.Match?

Причина, про яку я питаю, - це я завжди робив new Regex("pattern").Match("Input") і побачив Regex.Match, і я зараз запитую, чи я це робив неправильно!

Відповіді:

0 для відповіді № 1

З цим точним синтаксисом, для вас, як розробника, різниці немає. окрім цього new Regex() не є громадським конструктором, ви повинні пройти шаблон.

Тож у такому випадку статичні, напевно, краще.

Де ти б ти new Regex() є, призначити його екземпляру регулярного виразу, як:

var myregex = new Regex("my pattern");

Потім ви можете перевірити речі на прикладі, наприклад тайм-аут MatchTimeout і Options.


0 для відповіді № 2

Ви праві. Статичний метод Regex.Match добре для ситуацій, коли вам не потрібно повторно використовувати об'єкт Regex. Якщо ви збираєтеся відповідати кільком входам, ви, швидше за все, захочете використовувати

Regex reggy = new Regex("pattern");

І тоді використовуйте цей об'єкт стільки разів, скільки це потрібно.