我通过LINQ获取正在运行的进程列表。
我想要的两个属性是“ProcessName”和“WorkingSet64”。
但是,在我的UI中,我希望将这些属性称为“ProcessName”和“ProcessId”。
如何将名称“WorkingSet64”重新映射为“ProcessId”?
我在下面做了我正在寻找的伪语法:
using System.Linq;
using System.Windows;
using System.Diagnostics;
namespace TestLinq22
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
var theProcesses =
from p in Process.GetProcesses()
orderby p.WorkingSet64 descending
select new { p.ProcessName, p.WorkingSet64 alias "ProcessId" };
foreach (var item in theProcesses)
{
TheListBox.Items.Add(item);
}
}
}
}
答案 0 :(得分:5)
select new { p.ProcessName, ProcessId = p.WorkingSet64 };
答案 1 :(得分:2)
var theProcesses = from p in Process.GetProcesses()
orderby p.WorkingSet64 descending
select new { p.ProcessName, ProcessId = p.WorkingSet64 };
当你创建一个匿名对象时,如果你提供属性名称,它将使用它,否则它将使用你选择的属性的名称。