注视虽然该项目的一些代码,我的工作,我已经遇到这确实 以下一个相当丰厚的方法:如何摆脱重复的if语句?
public string DataField(int id, string fieldName)
{
var data = _dataRepository.Find(id);
if (data != null)
{
if (data.A == null)
{
data.A = fieldName;
_dataRepository.InsertOrUpdate(data);
return "A";
}
if (data.B == null)
{
data.B = fieldName;
_dataRepository.InsertOrUpdate(data);
return "B";
}
// keep going data.C through data.Z doing the exact same code
}
}
显然具有26个if语句只是为了确定一个属性null,然后更新该属性并执行数据库调用 可能在实现中非常天真。什么是做这个工作单位的更好方式?
我以为我的代码很糟糕... – JonH
介绍:http://codereview.stackexchange.com/ – Ray
问题的根源在于有26个属性的类,称为A到Z.是否有理由它不是数组或字典什么的? – Ray