用 linq 查找和替换列表的结果
Posted
技术标签:
【中文标题】用 linq 查找和替换列表的结果【英文标题】:find and replace result of a list with linq 【发布时间】:2021-10-01 07:05:46 【问题描述】:有没有办法在执行 linq 语句后将一个结果的值替换为另一个结果的值? 是在我的 ** Status ** 的 linq 语句中,有一些结果是“PendingForApprover”,但我想用“Pending forapprover”替换它,我希望在获得结果后,你可以使用查找并基于该替换值,之前在我的模型中,我使用带有显示名称的数据注释,但由于该结果我将其转换为 JSON,然后它将由服务器端带来那个方法不行
你分享我的句子 LINQ
var result = db.document.Select(d => new DocumentViewModel
DocumentId = d.DocumentId,
Name = w.name
ReceivedLogs = d.Logs
Status = w.Status.toString(),
.Where(l => l.Status == Status.Received)
.Select(l => new LogViewModel
CurrentApprover = l.User,
NameApprover = l.User.FullName
).FirstOrDefault()
).ToList();
谢谢
【问题讨论】:
【参考方案1】:您是否尝试过Switch expressions
,这是一个非常清晰的解决方案,您可以将其集成到您的LINQ
查询中。
Status = w.Status switch
Status.StatusOne => "Status One",
Status.PendingForApprover => "Pending for approver",
_ => "Unknown"
【讨论】:
以上是关于用 linq 查找和替换列表的结果的主要内容,如果未能解决你的问题,请参考以下文章