Visual Studio IDE0059 C# 不必要的赋值错误?
Visual Studio IDE0059 C# Unnecessary assignment of a value bug?
我有以下 C# 代码(我将它减少到最低限度以简化它)。 Visual Studio 2019 年,.NET 框架 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);
}
}
根据我的理解,这没有错。该函数可能会失败(我不想捕获它)但是在离开之前,它会向另一个方法报告执行成功。调试时,它确实做了它应该做的事情。
有趣的是,Visual Studio 2019 年将报告以下内容:
当我按照建议选择 "Remove redundant assignment" 时,它会删除行 success = true;
,有效地改变了结果!
现在你会问 switch/case 有什么用?删除它时,建议消失:
有什么原因吗,还是 Visual Studio 中的错误?
我有以下 C# 代码(我将它减少到最低限度以简化它)。 Visual Studio 2019 年,.NET 框架 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);
}
}
根据我的理解,这没有错。该函数可能会失败(我不想捕获它)但是在离开之前,它会向另一个方法报告执行成功。调试时,它确实做了它应该做的事情。
有趣的是,Visual Studio 2019 年将报告以下内容:
当我按照建议选择 "Remove redundant assignment" 时,它会删除行 success = true;
,有效地改变了结果!
现在你会问 switch/case 有什么用?删除它时,建议消失:
有什么原因吗,还是 Visual Studio 中的错误?