我怎样才能把它简化成一行

How can i simplify this into one line

portalSelectslist.FirstOrDefault(x => x.PortalId == item.PortalId).AccessTypePortalId = item.AccesstypePortalId;
                portalSelectslist.FirstOrDefault(x => x.PortalId == item.PortalId).Isselected = true;

更新列表中的项目我更新每行中的每个 属性 而不是我如何更新一行中的两个项目

使用临时变量。所以你不必查询列表两次,它更容易阅读。

var temp = portalSelectslist.FirstOrDefault(x => x.PortalId == item.PortalId);
if(temp != null)
{
    temp.AccessTypePortalId = item.AccesstypePortalId;
    temp.Isselected = true;
}

你不能或可能不应该。仅仅因为它在一行中,并不能使它成为更好的代码。

下面更readable/maintainable.

var portal = portalSelectslist
    .FirstOrDefault(x => x.PortalId == item.PortalId);

if (portal != null) {
    portal.AccessTypePortalId = item.AccesstypePortalId;
    portal.Isselected = true;
}

更新 从技术上讲,您可以在一条“行”中执行此操作,但不要这样做。此代码不易阅读或理解,因此更难维护。

portalSelectslist.Where(x => x.PortalId == item.PortalId).ToList().ForEach(s => { s.AccessTypePortalId = item.AccesstypePortalId; s.Isselected = true });

仅仅因为你可以,并不意味着你应该。

代码看起来正在更新与 where 子句匹配的 all 值。这不是您要传达给正在阅读代码的任何人的意图,您只想更新一个值。

编写代码(使其运行后)首先要担心的是可读性和可维护性。