相关疑难解决方法(0)

foreach循环与ForEach方法 - 差异?

编辑:此问题可以标记为此问题的副本.

使用foreach循环或ForEach LINQ方法之间是否存在任何差异(性能或其他)?

对于上下文,这是我的一个方法的一部分:

foreach (var property in typeof(Person).GetProperties())
{
    Validate(property.Name);
}
Run Code Online (Sandbox Code Playgroud)

我也可以使用此代码执行相同的任务:

typeof(Person)
    .GetProperties()
    .ToList()
    .ForEach(property => Validate(property.Name));
Run Code Online (Sandbox Code Playgroud)

什么时候使用循环结构比使用方法链更好?

这是我使用该ForEach方法的另一个例子,但可以轻松使用foreach循环和变量:

// LINQ
PrivateData.Database.Users
           .Cast<User>()
           .Where(user => user.LoginType == LoginType.WindowsUser)
           .Select(user => new { Name = user.Name, Login = user.Login })
           .ToList()
           .ForEach(result => WriteObject(result));

// Loop
var users = PrivateData.Database.Users
               .Cast<User>()
               .Where(user => user.LoginType == LoginType.WindowsUser)
               .Select(user => new { Name = user.Name, Login = user.Login });

foreach(var user in users)
{ …
Run Code Online (Sandbox Code Playgroud)

c# linq foreach

10
推荐指数
2
解决办法
6348
查看次数

标签 统计

c# ×1

foreach ×1

linq ×1