【发布时间】:2015-05-21 08:17:17
【问题描述】:
请看下面的代码
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<Employee> employeeCollection = new List<Employee>();
for (int i = 1; i < 10; i++) employeeCollection.Add(new Employee {
EmployeeID = i,
EmployeeName = string.Concat("Employee", i),
Email = string.Concat("Email", i) });
//loop thru every record
foreach (Employee e in employeeCollection)
{
SendEMail(e);
}
}
private static void SendEMail(Employee employee)
{
// do something
}
}
class Employee
{
public int EmployeeID { get; set; }
public string EmployeeName { get; set; }
public string Email { get; set; }
}
}
我必须对员工的每条记录进行一些操作。此后,我将使用 foreach 循环。如果记录数增加,操作数也会同样增加。所以它将是O(N)。 有没有更好的方法呢?
注意~我不是在找.foreach()
【问题讨论】:
-
您可以为所有员工发送一封电子邮件吗?
-
您想检查每个员工并向他们发送电子邮件,但操作不能是 O(n)?
-
发给每个员工的电子邮件是否相同?
-
我使用了Parallel.Foreach...我做了一个基准标记,它很快。
标签: c# optimization foreach