Linq查询:这个数组是否包含这个字符串?

noc*_*ura 6 c# linq

有一个更好的方法吗?

    public bool IsServiceRunning(string serviceName)
    {
        string[] services =  client.AllServices();
        return (from s in services
                where s.Equals(serviceName, StringComparison.InvariantCultureIgnoreCase)
                select s).Count() > 0;
    }
Run Code Online (Sandbox Code Playgroud)

比较中的不区分大小写非常重要.

rec*_*ive 16

使用Anylinq扩展方法:

public bool IsServiceRunning(string serviceName)
{
    string[] services =  client.AllServices();
    return services.Any(s => 
        s.Equals(serviceName, StringComparison.InvariantCultureIgnoreCase));
}
Run Code Online (Sandbox Code Playgroud)

这样一旦找到匹配,执行就会停止.


Ahm*_*eed 8

尝试:

return services.Any(s =>
            s.Equals(serviceName, StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)