C# killprocess类的语法错误

C# killprocess类的语法错误,c#,process,C#,Process,我的系统中有以下代码 private void killprocess() { Process[] procs = null; try { procs = Process.GetProcessesByName("notepad"); Process NotepadProc = procs[0]; if (!NotepadProc.HasExited)

我的系统中有以下代码

 private void killprocess()
    {
        Process[] procs = null;
        try
        {
            procs = Process.GetProcessesByName("notepad");
            Process NotepadProc = procs[0];
            if (!NotepadProc.HasExited)
            {
                NotepadProc.Kill();
            }
            else if (procs != null)
                foreach (Process p in procs)
                {
                    p.Dispose();
                }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
程序从进程列表中获取记事本并结束它。 我的问题是,如果记事本没有运行,我会得到这个错误。


我知道它在说什么,但是我似乎无法正确地获得代码,首先检查运行一个if语句,该语句检查记事本是否正在运行,如果它没有运行,则不会关闭。在这一步中,将出现indexootfrangeexception: 进程NotepadProc=procs[0]

你可以检查一下名单的长度

例如:

if(procs.Length == 0)
   return;

if(procs.Length > 0)
{
   your code
}