我最常用的迷你模式是:
VideoLookup = new ArrayList { new ArrayList { buttonVideo1, "Video01.flv" },
new ArrayList { buttonVideo2, "Video02.flv" },
new ArrayList { buttonVideo3, "Video03.flv" },
new ArrayList { buttonVideo4, "Video04.flv" },
new ArrayList { buttonVideo4, "Video04.flv" }
};
这意味着,我可以将单击的按钮与 ArrayList 中的每个项目进行比较,而不是每个按钮都有一个 case 的 switch 语句。然后,当我找到匹配项时,我会启动正确的文件(尽管“查找”第二部分的操作可能是委托或其他任何内容)。
主要的好处是我没有记住为每个 switch 语句案例添加所有正确代码的问题,我只是在查找 ArrayList 中添加了一个新项目。
(是的,我知道使用 ArrayList 不是最好的方法,但它是旧代码。而且我知道每次循环遍历数组不如使用 switch 语句高效,但这段代码不在紧环)
有没有其他人有任何他们使用的迷你模式来节省时间/精力或使代码更具可读性?它们不必只是与 GUI 相关。
更新:不要复制这段代码,我知道它很糟糕,但我没有意识到有多糟糕。改用这样的东西。
Hashtable PlayerLookup = new Hashtable();
PlayerLookup.Add(buttonVideo1, "Video01.flv");
PlayerLookup.Add(buttonVideo2, "Video02.flv");
PlayerLookup.Add(buttonVideo3, "Video03.flv");
PlayerLookup.Add(buttonVideo4, "Video04.flv");
string fileName = PlayerLookup[currentButton].ToString();