Есть ли какие-либо преимущества в использовании VB.NET Like Operator и RegEx? - PullRequest
3 голосов
/ 19 июля 2010

Кроме, возможно, улучшенной читаемости для очень простых шаблонов, почему кто-то решил использовать оператор Like в VB.NET вместо регулярных выражений для сопоставления строковых шаблонов?Есть ли преимущества?

1 Ответ

3 голосов
/ 19 июля 2010

Возможно.Если вы хотите взглянуть на то, как реализован Like, большая часть (все?) Находится в Microsoft.VisualBasic.CompilerServices.LikeOperator, а зачатки можно увидеть в #LikeObject и #LikeString.Глядя на документацию , Like, очевидно, использует довольно строгое подмножество полного механизма регулярных выражений, и, как и почти любой Perl-совместимый механизм регулярных выражений, есть некоторая тяжелая работа, которая может быть избыточнойпростые выражения.

Тем не менее, на мой взгляд, все сводится к стилю.Если вы чувствуете, что If (myString Like "a?bb") более читабелен, идиоматичен и совместим с остальным кодом, сделайте это.Мне кажется, что в любом случае, кроме вышеперечисленных причин, есть театр микрооптимизации, тем более что вы можете скомпилировать регулярные выражения , если вам нужно.

...