是否应该在foreach循环中使用LINQ表达式?

本文关键字:LINQ 表达式 循环 foreach 是否 | 更新日期: 2023-09-27 18:16:32

方法一:

var list = processQueue.Where(item => item.Priority < 6);
foreach (var item in list)
{
    Console.WriteLine("Priority : {0}, Name : {1}", item.Priority, item.Name);
}
方法2:

foreach (var item in processQueue.Where(item => item.Priority <6))
{
    Console.WriteLine("Priority : {0}, Name : {1}", item.Priority, item.Name);
}

一种方法相对于另一种方法的优势是什么?

是否应该在foreach循环中使用LINQ表达式?

  1. 除了循环之外,你还需要在其他地方使用列表吗?
  2. 在循环语句中包含linq查询是否会使您的代码可读性降低?
  3. (正如Dan Puzey指出的那样)你认为自己在调试时需要检查list的内容吗?

如果你对这三个问题的回答都是否定的,那么就把它作为循环的一部分。