如何确定阵列中的哪个进程首先启动?

时间:2019-09-23 20:53:27

标签: c# wpf winforms process

我列出了与当前进程名称相同的进程列表。清单的制作方法如下:

Process curr = Process.GetCurrentProcess();
Process[] procs = Process.GetProcessesByName(curr.ProcessName);

我的目标是开始启动第一个过程,并将他仅存储在新变量中。我已经尝试了一些方法,但是我不知道该怎么办。

// procs[1].StartTime.Ticks ????

问题是如何在一系列流程中获得启动时间最短的流程?

1 个答案:

答案 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(),因为至少应该存在一个与当前进程同名的进程。