我列出了与当前进程名称相同的进程列表。清单的制作方法如下:
Process curr = Process.GetCurrentProcess();
Process[] procs = Process.GetProcessesByName(curr.ProcessName);
我的目标是开始启动第一个过程,并将他仅存储在新变量中。我已经尝试了一些方法,但是我不知道该怎么办。
// procs[1].StartTime.Ticks ????
问题是如何在一系列流程中获得启动时间最短的流程?
答案 0 :(得分:4)
您已经确定了应使用的属性,称为StartTime。
现在,要在流程数组中找到最短的开始时间,只需在Linq名称空间中使用OrderBy,然后从有序序列中获取第一个元素即可。
Process curr = Process.GetCurrentProcess();
Process[] procs = Process.GetProcessesByName(curr.ProcessName);
var theFirst = procs.OrderBy(x => x.StartTime).FirstOrDefault();
您还可以使用First()代替FirstOrDefault(),因为至少应该存在一个与当前进程同名的进程。