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));


使用声纳代码分析时出现警告错误:


  删除对局部变量stopFyon的无用分配

最佳答案

不要使用var

StopFYON stopFyon;


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

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

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

10-11 14:17