想知道是否有更好的方法来处理多个相似的条件语句和操作,如下面的示例代码片段所示。避免连续的类似条件块的方式
private void AddCommonDictionaryItemsForAllAttributes(MyCustomType dc, string statusFlag)
{
if (dc.xmlAttributes == null) {
dc.xmlAttributes = new Dictionary<string, string>();
}
dc.xmlAttributes.Add(Constant.CD_1, statusFlag);
dc.xmlAttributes.Add(Constant.CD_2, statusFlag);
dc.xmlAttributes.Add(Constant.CD_3, statusFlag);
if (dc.primaryZone != null) {
dc.xmlAttributes.Add(Constant.CD_4, statusFlag);
}
if (dc.Mgr1 != null) {
dc.xmlAttributes.Add(Constant.CD_10, statusFlag);
}
if (dc.Mgr2 != null) {
dc.xmlAttributes.Add(Constant.CD_11, statusFlag);
}
if (dc.Mgr3 != null) {
dc.xmlAttributes.Add(Constant.CD_5, statusFlag);
}
if (dc.Producer != null) {
dc.xmlAttributes.Add(Constant.CD_6, statusFlag);
}
if (dc.CountTest > 0) {
dc.xmlAttributes.Add(Constant.CD_7, statusFlag);
}
if (dc.List1 != null && dc.List1.Count > 0) {
dc.xmlAttributes.Add(Constant.CD_8, statusFlag);
}
if (dc.List2 != null && dc.List2.Count > 0) {
dc.xmlAttributes.Add(Constant.CD_9, statusFlag);
}
}
的,如果条件和除了字典操作在我看来,作为冗余,从而寻找出更高效,更优雅的方式实现代码。
谢谢!
更新:我使用.NET 3.5
为了减少空间,您可以将语句放在与条件相同的行上,但我无法看到任何方式来摆脱长长的条件列表。抱歉。 – Darkhydro 2011-02-15 07:37:29