c# - 用 linq 查找和替换列表的结果
问题描述
有没有办法在执行 linq 语句后用另一个结果替换一个结果的值?是在我的 ** Status ** 的 linq 语句中,有一些结果是“PendingForApprover”,但我想用“Pending forapprover”替换它,我希望在获得结果后,你可以使用查找并基于该替换值,之前在我的模型中,我使用带有显示名称的数据注释,但由于该结果我将其转换为 JSON,然后它将由服务器端带来该方法不起作用
y 分享我的句子 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();
谢谢
解决方案
您是否尝试过Switch expressions
它是一个非常清晰的解决方案,您可以将其集成到您的LINQ
查询中。
Status = w.Status switch
{
Status.StatusOne => "Status One",
Status.PendingForApprover => "Pending for approver",
_ => "Unknown"
}
推荐阅读
- python - 使用 Python AST 更改导入路径的最佳方法
- reactjs - 无法从客户端的 axios 响应中解析承诺
- gcc - ld 失败,因为 libselinux 未定义对 gettid@GLIBC_2.30 的引用
- python - SMOTE 用于平衡数据
- compression - 压缩 60 位字符串的最佳方法
- linux-mint - Linux-Mint-20 的协同作用
- javascript - 我如何将数据从屏幕上传递到 React Native 中的另一个?
- flutter - 解决异常:在 null 上调用了 getter 'iterator'
- r - 使用 echarts4r 测量颜色
- sql - 如何删除 varbinary 字符串中的前两个字符