いくつかの をテストして除外する必要があるかどうかを確認するために使用しているユーザー定義のRegex
es がいくつかあります。string
private readonly IEnumerable<Regex> exclusions = <some user defined source>;
static bool Exclude(string value)
{
return this.exclusions.Any(regex => regex.IsMatch(value);
}
このように、関数から反復を削除できるように、のセットをexclusions
単一の結合に結合する方法はあるのでしょうか。exclusion
Regex
Exclude
static bool Exclude(string value)
{
return this.exclusion.IsMatch(value);
}
このアプローチは実行可能ですか?潜在的なパフォーマンス上の利点がありますか?それとも反復の負担を Regex プロセッサに押し下げるだけですか?
編集
だから、私は簡単にできる、
var exclusion =
new Regex(string.Join("|", exclusions.Select(e => e.ToString()));
より洗練されたオプションはありますか?
編集2
私は正規表現を制御できないため、盲目的にそれらを組み合わせることは単純なアプローチであり、パフォーマンスの向上よりもバグが発生する可能性が高いと判断しました。