IEnumerable <process> Linq查询</process>

时间:2012-09-02 16:47:44

标签: c# linq process ienumerable

在此代码中尝试按名称获取进程 如何添加第二个过滤器来查询

      IEnumerable<Process> processList =

                from p in Process.GetProcesses()
                where p.ProcessName.StartsWith("Mon") || p.ProcessName.StartsWith("Tue")
                select p;

这是我尝试纠正它,上面的例子dows工作

3 个答案:

答案 0 :(得分:1)

IEnumerable<Process> processList = from p in Process.GetProcesses()
                where p.ProcessName.StartsWith("Mon") && p.Property == somethingElse && ...
                select p;

只需添加&amp;&amp;如果你想要AND条件或||如果你想要OR条件。

OP评论后

编辑:

如果要访问IEnumerable的元素:

var element1 = processList.ElementAt(0);

如果要迭代所有元素,可以使用foreach。

     foreach (var i in processList)
    {
    Response.Write(i.ProcessName);
    //or if you're using a console application: Console.WriteLine(i.ProcessName);
    }

答案 1 :(得分:1)

IEnumerable<Process> processList =
    from p in Process.GetProcesses()
    where p.ProcessName.StartsWith("Mon")
    where p.ProcessName.EndsWith("day")
    select p;

答案 2 :(得分:0)

我的答案是在OP修正问题以证明扩展方法

之后
IEnumerable<Process> processes = 
Process.GetProcesses()
.Where(p => p.ProcessName.StartsWith("Mon") || p.ProcessName.EndsWith("Tue"));