我有这段代码可以将来自excel导入的“ hours1,hours2,hours3”中的数据插入数据库,但这会使代码通过即时通讯的方式变得更大,这是我的代码,我该如何简化了hours1,hours2 == null的部分。
switch (colNames.IndexOf(item2))
{
case 0:
if (model.Hours == null)
{
item.Hours = 0;
}
else
{
item.Hours = (decimal)model.Hours;
item.Hours_Remaining = (decimal)model.Hours;
}
break;
case 1:
if (model.Hours1 == null)
{
item.Hours = 0;
}
else
{
item.Hours = (decimal)model.Hours1;
item.Hours_Remaining = (decimal)model.Hours;
}
break;
case 2:
if (model.Hours2 == null)
{
item.Hours = 0;
}
else
{
item.Hours = (decimal)model.Hours2;
item.Hours_Remaining = (decimal)model.Hours;
}
break;
case 3:
if (model.Hours == null)
{
item.Hours = 0;
}
else
{
item.Hours = (decimal)model.Hours3;
item.Hours_Remaining = (decimal)model.Hours;
}
break;
}
答案 0 :(得分:2)
您可以拥有这样的私有方法
private void NameOfPrivateMethod(object objValue,Hours hours,Item item)
{
if (objValue == null)
{
item.Hours = 0;
}
else
{
item.Hours = (decimal)objValue;
item.Hours_Remaining = (decimal)hours;
}
}
并像这样使用它(您需要根据需要对其进行一些更改)
NameOfPrivateMethod(model.Hours1, model.Hours,Item)