gpt4 book ai didi

c# - 将嵌套的 'foreach' 和 'If' 重构为 LINQ

转载 作者:太空宇宙 更新时间:2023-11-03 21:24:27 26 4
gpt4 key购买 nike

我正在学习一些 LINQ。当遇到这样的事情时:

foreach (var user in result.Items)
{
if (!(user.UserId.Equals(session.UserId)))
{
user.CanBeDeleted = true;
}
}

如何使用 LINQ 解决? LINQ 还是 foreach-if 组合性能更好?

最佳答案

在大多数情况下,LINQ 不会使您的程序运行得更快,但它会使您的代码更具可读性,因此更易于维护。

但是如果您需要修改某些内容,LINQ 并不是合适的工具。 Q 代表查询。使用普通循环对其进行修改。但是你可以过滤你必须修改的内容:

var toBeDeleted =  result.Items.Where(u => u.UserId != session.UserId);

现在您可以使用循环来执行它并更改 User:

foreach(User user in toBeDeleted)
user.CanBeDeleted = true;

关于c# - 将嵌套的 'foreach' 和 'If' 重构为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com