c# - visual studio 提供将 c# 中的表达式主体转换为方法 : IDE0022 的 block 主体

标签 c# .net visual-studio-2017 c#-6.0

<分区>

public ActionResult Edit(int id)
        => Json(_itemMasterBL.GetItemMaster()?.Where(x => x.Id == id).FirstOrDefault(), JsonRequestBehavior.AllowGet);

我将上述代码作为表达式主体方法 (c# 6.0)。

但在 visual studio 2017 quick actions (ctrl + .) 中,它提出了这个建议:

IDE0022: 为方法使用 block 体如下:

public ActionResult Edit(int id)
    {
        return Json(_itemMasterBL.GetItemMaster()?.Where(x => x.Id == id).FirstOrDefault(), JsonRequestBehavior.AllowGet);
    }

这个建议是什么意思?它是否建议出于某种原因应该首选此更改?还是只是为了方便而提供可能性?

最佳答案

在表达式主体和 block 主体之间进行转换有些乏味,但您可能希望经常这样做。这就是为什么我认为 VS 将它作为一种重构提供,它并不是一个比另一个更好的声明。

关于c# - visual studio 提供将 c# 中的表达式主体转换为方法 : IDE0022 的 block 主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43450696/

相关文章:

c# - 使用 TempData 从 MVC 操作向 ViewBag 添加字符串值时出现问题

.net 添加了客户端证书,但仍然收到无效证书

c# - 右键单击部署时如何运行 --publish-local-settings?

json - Azure函数: How do I control development/production/staging app settings?

c# - 使用 LINQ 从 XML 中提取属性

c# - 从 StreamReader.ReadLine() 获取的字符串的编码是什么

c# - UrlPathEncode() 替代方案

c# - 锁定并完成所有工作,还是仅在必要时松开并抓取?

.net - 如何修复处理器架构之间的不匹配?

entity-framework - VS2017 中的 SQLite 提供程序