c# - Lambda 表达式中的 Switch 语句
问题描述
我的 HomeController 中有以下代码:
public ActionResult Phones_Read([DataSourceRequest] DataSourceRequest request) {
var result = new DataSourceResult();
using (var context = new GPEContext()) {
var filterzzz = context.TelefonUndAbwesends.Where(p => !p.Name.Contains("zzz"));
IQueryable < TelefonUndAbwesend > telListe = filterzzz;
result = telListe.ToDataSourceResult(request);
return Json(result);
}
}
如何在 filterzzz 变量之外使用 switch 语句?我有多个 p.Status 的切换场景:
switch(p.Status) {
case "0":
p.Status = "Abwesend";
break;
case "1":
p.Status = "Anwesend";
break;
case "2":
p.Status = "Pause";
break;
case "3":
p.Status = "Dienstgang";
break;
case "4":
p.Status = "Home Office";
break;
default:
p.Status = "";
break;
}
解决方案
我得到了答案。感谢这篇文章。克利克
var filterzzz = context.TelefonUndAbwesends.Where(p => !p.Name.Contains("zzz"))
.Select(
delegate (TelefonUndAbwesend p)
{
var switchedList = new TelefonUndAbwesend
{
Name = p.Name,
Abteilung = p.Abteilung,
Durchwahl = p.Durchwahl,
Kürzel = p.Kürzel
};
switch (p.Status)
{
case "0":
switchedList.Status = "Abwesend";
break;
case "1":
switchedList.Status = "Anwesend";
break;
case "2":
switchedList.Status = "Pause";
break;
case "3":
switchedList.Status = "Dienstgang";
break;
case "4":
switchedList.Status = "Home Office";
break;
default:
switchedList.Status = "";
break;
}
return switchedList;
}).AsQueryable();
多谢你们。
推荐阅读
- amazon-web-services - 授予对 S3 存储桶内所有子文件夹的完全控制权限(不包括 parent)
- mysql - 如何在 Windows10 上的 MINGW64 中运行 MYSQL?
- vb.net - 如何覆盖默认的 SQL 迁移生成器?
- regex - ul 元素中的多行打破了我的正则表达式模式
- python - Jupyter Notebook 无法正确处理 VS Code 中的 .js 元素
- python - 在烧瓶 404、500 页上添加自定义处理程序
- javascript - 如何配置 login() 函数;使用 GET 请求?
- laravel - 登录/注册后重定向到以前的 URL 不起作用
- .net - dotnet 无法构建正在使用的 ASP.NET Core 站点
- python - 如果结果大于 1,为什么请求的小数精度实际上是小一?