2009-02-25 3 views
1

Я получаю список запущенных процессов через LINQ.Как переназначить свойства в LINQ?

Два свойства, которые я хочу: «ProcessName» и «WorkingSet64».

Однако в моем пользовательском интерфейсе я хочу, чтобы эти свойства назывались «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); 
      } 
     } 
    } 
} 

ответ

5
select new { p.ProcessName, ProcessId = p.WorkingSet64 }; 
+0

damnit, вы просто избили меня :( –

2
var theProcesses = from p in Process.GetProcesses() 
        orderby p.WorkingSet64 descending 
        select new { p.ProcessName, ProcessId = p.WorkingSet64 }; 

При создании annonymous объекта, если вы предоставите имя свойства он будет использовать, что, в противном случае это 'Я использую имя свойства, которое вы выбрали.

Смежные вопросы