Этот код сильно нагружает процессор. Как понимаю, простаевается поток все время. Пробовал несколько вариантов, но все равно нагрузка не меняется
for (;;)
{
Process[] processes = Process.GetProcesses();
for (int i = 0; i < processes.Length; i++)
if (processes[i].ProcessName.ToUpperInvariant().Contains("DNSPY"))
Environment.Exit(0);
Task.Delay(100);
}
Task.Delay работает только в асинхронной функции, при условии, что его дожидаются через await. Если у Вас отдельный Thread для этой задачи, то можно использовать Thread.Sleep(100); пример:
private async Task DoSomeWorkAsync()
{
for (;;)
{
Process[] processes = Process.GetProcesses();
for (int i = 0; i < processes.Length; i++)
if (processes[i].ProcessName.ToUpperInvariant().Contains("DNSPY"))
Environment.Exit(0);
await Task.Delay(100);
}
}
Либо:
private void DoSomeWork()
{
new Thread(() => {
for (;;)
{
Process[] processes = Process.GetProcesses();
for (int i = 0; i < processes.Length; i++)
if (processes[i].ProcessName.ToUpperInvariant().Contains("DNSPY"))
Environment.Exit(0);
Thread.Sleep(100);
}
}).Start();
}
Вариант с Task предпочтительней.
Виртуальный выделенный сервер (VDS) становится отличным выбором
При построении проекта в Release происходит две ошибки в двух проектахНасколько я понял, мне нужно как-то правильно всё настроить в файле Properties/Default
Проблема следующая, сделал свой UserControlВ коде этого контрола привязался к событию IsVisibleChanged и проигрываю анимацию появления\закрытия
Когда использование паттерна итератор уместно, а в каких случаях нежелательно?