C# 如何按名称对流程进行排序?

C# 如何按名称对流程进行排序?,c#,C#,这是我的代码,我想知道如何将其按字母顺序排列。谢谢 Process[] proc; void GetAllProcess() { proc = Process.GetProcesses(); listBox1.Items.Clear(); foreach (Process p in proc) { listBox1.Items.Add(p.ProcessName); } } private void Form1_Load(object

这是我的代码,我想知道如何将其按字母顺序排列。谢谢

Process[] proc;

void GetAllProcess()
{
    proc = Process.GetProcesses();
    listBox1.Items.Clear();
    foreach (Process p in proc)
    {
        listBox1.Items.Add(p.ProcessName);
    }
}


private void Form1_Load(object sender, EventArgs e)
{
    GetAllProcess();
}

LINQ使处理事物集合变得非常简单,它有一个
OrderBy
选项。对它们进行排序后,您可以再次使用LINQ来
选择每个进程的进程名称,然后使用这些名称,并使用
选择
将它们插入列表

proc = Process.GetProcesses()
    .OrderBy(p => p.ProcessName)
    .ToArray();
proc.Select(p => p.ProcessName)
    .Select(listBox1.Items.Add);

请检查此项,我已修改了您的函数:

void GetAllProcess()
{
    proc = Process.GetProcesses();
    listBox1.Items.Clear();
    foreach (Process p in proc.OrderBy(m=>m.ProcessName))
    {
        listBox1.Items.Add(p.ProcessName);
    }
}
使用