thm*_*shd 5 .net c# roslyn visual-studio-2019
我有以下 C# 代码(我将其减少到最低限度以简化它)。Visual Studio 2019,.NET Framework 4.7.2。
public void Demo()
{
ReportStart();
var success = false;
try
{
int no = 1;
switch (no)
{
case 1:
default:
break;
}
DoSomething();
success = true;
}
finally
{
ReportEnd(success);
}
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这并没有什么不妥。该函数可能会失败(我不想抓住它)但在离开之前,它会向另一个方法报告成功执行。调试时,它会做它应该做的事情。
有趣的是,Visual Studio 2019 将报告以下内容:
当我按照建议选择“删除冗余分配”时,它将删除该行success = true;,从而有效地改变结果!
现在你会问开关/外壳是什么?删除它时,建议消失:
有什么原因吗,还是 Visual Studio 中的错误?
| 归档时间: |
|
| 查看次数: |
774 次 |
| 最近记录: |