想知道是否有更好的方法來處理多個相似的條件語句和操作,如下面的示例代碼片段所示。避免連續的類似條件塊的方式
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