c# - 删除对局部变量 c# 的无用赋值

标签 c# lint sonarlint

var  stopFyon = new StopFYON();
IEnumerable<CarOnline> carOnlineData = (IEnumerable<CarOnline>)vehrep.GetCarOnlineDetail(maintainStopFactoryOrderNo.VehicleDetail).Result;

if (carOnlineData.Any())
{
    stopFyon = vehtran.CreateStopFactoryOrderNo(carOnlineData, maintainStopFactoryOrderNo, lastUpdatedBy);
}
else
{
    stopFyon = vehtran.CreateStopFactoryOrderNo(null, maintainStopFactoryOrderNo, lastUpdatedBy);
}
return gen.GetResponse((Int16)ResultCode.Success, (Int16)MsgType.Ok, null, vehrep.StopFactoryOrderNo(stopFyon));

我在使用声纳代码分析时收到警告错误:

remove this useless assignment to local variable stopFyon

最佳答案

不要使用var:

StopFYON stopFyon;

警告的原因是您使用默认构造函数初始化了变量(理论上这可能是一个非常昂贵的调用,至少它令人困惑)。但是这个分配在所有分支中被覆盖(ifelse)。所以没用。

如果您在 if 之前使用 stopFyon,警告也会消失。

关于c# - 删除对局部变量 c# 的无用赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903201/

相关文章:

android - calendar.get(Calendar.MONTH) == Calendar.JANUARY 给出一个 lint 错误

android - 全局 Lint 设置存储在哪里?

java - New FileReader 的 SonarQube 问题

sonarqube - 如何在 Eclipse 中启用/禁用来自 SonarLint 的任何规则

c# - 如何为来自不同公司的断开连接的系统同步两个数据库

c# - 如果推荐使用 xmlwriter,那么 xmltextwriter 的用途是什么

c# - 两个字符串数组的完全外连接

configuration - 在 Elixir 中,是否可以修改混合格式以强制最终关键字列表周围的方括号?

java - 如何解决SONAR LINT中的 "Unable to update binding"错误?

c# - 在 SQL Server 2016 中的 NHibernate 中实现级别安全性