Как определить, какой процесс в массиве был запущен первым? - PullRequest
0 голосов
/ 23 сентября 2019

Я составил список процессов с тем же именем процесса, что и у текущего.Вот как выглядит список:

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

Моя цель - получить первый запущенный процесс и сохранить только его в новой переменной.Я пробовал кое-что, но понятия не имею, что делать.

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

Вопрос в том, как получить процесс с наименьшим временем запуска в массиве процессов?

1 Ответ

4 голосов
/ 24 сентября 2019

Вы уже определили свойство, которое следует использовать, и оно называется StartTime.
Теперь, чтобы найти самое низкое время запуска в массиве процессов, вы можете просто использовать OrderBy из пространства имен Linq и затем получить первый элементиз упорядоченной последовательности.

Process curr = Process.GetCurrentProcess();  
Process[] procs = Process.GetProcessesByName(curr.ProcessName);
var theFirst = procs.OrderBy(x => x.StartTime).FirstOrDefault();

Вы также можете использовать First () вместо FirstOrDefault (), поскольку должен существовать хотя бы один процесс с таким же именем текущего процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...