冗余控制流跳转语句
本文关键字:语句 控制流 冗余 | 更新日期: 2023-09-27 18:28:47
我正在浏览一些代码。VS将return语句标记为冗余控制流跳转语句,并建议删除它。正确的语法是什么?
private async void TokenButton_Click(object sender, RoutedEventArgs e)
{
try
{
var accountType = _settings["account_type"];
if (accountType.Equals(AccountTypeMicrosoft))
{
this.Status.Text += "The original token is good for Live. No new token is needed.'n";
}
else
{
// Get access token for the target service
if (!await GetAccessTokenForServiceAsync().ConfigureAwait(true))
{
return;
}
}
}
catch (Exception ex)
{
this.Status.Text += "Exception caught: '" + ex.Message + "'.";
this.Status.Foreground = _errorBrush;
}
}
删除整个if
并将其替换为:
await GetAccessTokenForServiceAsync().ConfigureAwait(true)
您不需要检查结果,因为在任何一种情况下发生的下一件事都将是方法的结束。
函数的作用如下:
if (condition)
{
return;
}
return;
return语句是多余的。
您可以先检查验证条件,然后进行类似的处理
if (!await GetAccessTokenForServiceAsync().ConfigureAwait(true))
{
return;
}
try {
var accountType = _settings["account_type"];
if (accountType.Equals(AccountTypeMicrosoft))
{
this.Status.Text += "The original ... ";
}
}
catch() {}