提高多串比较的效率(正则表达式?)

Pau*_*les 2 c# regex string

我有以下代码,我正在努力加快:

private bool IsValidProduct(string productName)
        {
            return (productName.IndexOf("something", StringComparison.InvariantCultureIgnoreCase) == -1 &&
                    productName.IndexOf("whatever", StringComparison.InvariantCultureIgnoreCase) == -1 &&
                    productName.IndexOf("blah", StringComparison.InvariantCultureIgnoreCase) == -1 &&
                    productName.IndexOf("keyword", StringComparison.InvariantCultureIgnoreCase) == -1 &&
                    productName.IndexOf("etc...", StringComparison.InvariantCultureIgnoreCase) == -1);
        }
Run Code Online (Sandbox Code Playgroud)

我目前正在检查大约十几个单词.

这样做的最快方法是什么?

Che*_*hen 5

正则表达式不是一个好主意,尝试这样的事情:

List<string> keywords = new List<string>
    {
        "something",
        "whatever",
        "keyword",
        "etc"
    };

return keywords.All(keyword => !productName.Contains(keyword));
Run Code Online (Sandbox Code Playgroud)