删除对局部变量 c# 的无用赋值
remove this useless assignment to local variable c#
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
当我更改代码 StopFYON stopFyon = null
而不是 var stopFyon = new StopFYON();
时,它正在工作
不要使用 var
:
StopFYON stopFyon;
警告的原因是您使用默认构造函数初始化变量(理论上这可能是一个非常昂贵的调用,至少它令人困惑)。但是这个分配在所有分支中被覆盖(if
和 else
)。所以没用。
如果您在 if
之前使用 stopFyon
,警告也会消失。
消息非常简单:
IEnumerable<CarOnline> carOnlineData = (IEnumerable<CarOnline>)vehrep.GetCarOnlineDetail(maintainStopFactoryOrderNo.VehicleDetail).Result;
StopFYON stopFyon;
if (carOnlineData.Any())
stopFyon = vehtran.CreateStopFactoryOrderNo(carOnlineData, maintainStopFactoryOrderNo, lastUpdatedBy);
else
stopFyon = vehtran.CreateStopFactoryOrderNo(null, maintainStopFactoryOrderNo, lastUpdatedBy);
第一个作业:
var stopFyon = new StopFYON();
没用,因为紧接着在 if statement
中执行了另一个赋值。
只需使用 StopFYON stopFyon;
分配类型,无需初始化,因为您的 if 条件块正在分配实际值。
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
当我更改代码 StopFYON stopFyon = null
而不是 var stopFyon = new StopFYON();
不要使用 var
:
StopFYON stopFyon;
警告的原因是您使用默认构造函数初始化变量(理论上这可能是一个非常昂贵的调用,至少它令人困惑)。但是这个分配在所有分支中被覆盖(if
和 else
)。所以没用。
如果您在 if
之前使用 stopFyon
,警告也会消失。
消息非常简单:
IEnumerable<CarOnline> carOnlineData = (IEnumerable<CarOnline>)vehrep.GetCarOnlineDetail(maintainStopFactoryOrderNo.VehicleDetail).Result;
StopFYON stopFyon;
if (carOnlineData.Any())
stopFyon = vehtran.CreateStopFactoryOrderNo(carOnlineData, maintainStopFactoryOrderNo, lastUpdatedBy);
else
stopFyon = vehtran.CreateStopFactoryOrderNo(null, maintainStopFactoryOrderNo, lastUpdatedBy);
第一个作业:
var stopFyon = new StopFYON();
没用,因为紧接着在 if statement
中执行了另一个赋值。
只需使用 StopFYON stopFyon;
分配类型,无需初始化,因为您的 if 条件块正在分配实际值。