我需要不断检查是否有多个进程正在运行。到目前为止,我已经使用过:
Process[] Processes = Process.GetProcesses();
获取当前正在运行的进程。我有一个字符串数组,其中包含我想要确保在继续之前没有运行的进程列表:
string[] ProcessesToCheck = new string[] {"Chartvue",
"collvue"
,"damage"
,"Datagen"
,"datagenlegacy"
,"FAST_SACS"
,"hullmesher"
,"hullmodeler"
,"ifatigue"};
问题是,如何检查Processes的所有ProcessName成员是否都不包含ProcessesToCheck的任何成员?
答案 0 :(得分:3)
您可以将进程名称放入哈希集(以便更快地查找),然后使用Any
方法检查ProcessesToCheck
var processNames = new HashSet<string>(Processes.Select(p => p.ProcessName));
bool isExists = ProcessesToCheck.Any(processNames.Contains);
答案 1 :(得分:2)