查询语法而不是循环,列表<process>难以翻译</process>

时间:2011-10-12 17:26:05

标签: c# list loops syntax

我希望我没有做任何克隆。 我正在学习由Bill Wagner编写的有效c#书,并坚持使用查询语法。

在我的项目中,我使用类似的东西:

this.processList = new List<Process>();

            foreach (Process process in Process.GetProcesses(machine))
            {
                if (process.MainWindowTitle.Contains(patternTitle))
                {
                    this.processList.Add(process);
                }
            }

            if (processList.Count == 1)
            {
                this.handler = this.processList[0].MainWindowHandle;
            }

我想使用查询语法,但我真的不知道如何。 我试过这个,但它失败了。我知道它不会起作用,但这是我试过的证明。

  

(来自Enumerable.Range中的n(0,   Process.GetProcesses(machine))。包含select   VAR)。新增(值));

任何帮助都会受到赞赏
P.S.如果指定不好,请更正我的主题。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您正在尝试使用LINQ,请确保包含“使用System.LINQ;”

你可能想要的LINQ表达式是这样的:

var processList = from p in Process.GetProcesses(machine)
 where p.MainWindowTitle.Contains(patternTitle)
 select p;

LINQ有很多例子。我使用http://en.wikipedia.org/wiki/Linq作为参考。