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);
}
}
使用