0

このコードでは、名前でプロセスをフェッチしようとしていますが、クエリに 2 番目のフィルターを追加するにはどうすればよいですか

      IEnumerable<Process> processList =

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

それは私が試したもので、上記の例は dows で動作します

4

3 に答える 3

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

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);
    }
于 2012-09-02T16:49:50.393 に答える
1
IEnumerable<Process> processList =
    from p in Process.GetProcesses()
    where p.ProcessName.StartsWith("Mon")
    where p.ProcessName.EndsWith("day")
    select p;
于 2012-09-02T16:50:28.447 に答える
0

私の答えは、拡張メソッドを示すためにOPが質問を修正した後です

IEnumerable<Process> processes = 
Process.GetProcesses()
.Where(p => p.ProcessName.StartsWith("Mon") || p.ProcessName.EndsWith("Tue"));
于 2012-09-02T17:04:57.980 に答える