经过长时间的搜索,我终于找到了清理我的刽子手游戏中的一些代码的获胜策略,但需要解释一下才能理解。
游戏打开时,我原本希望禁用所有字母按钮。所以我创建了一个方法来做到这一点,
private void disableletters();
{
A.Enabled = false;
B.Enabled = false;
.
.
.
Z.Enabled = false;
}
有效但不是很优雅。因此,遍历字母表以尝试压缩此代码似乎是合乎逻辑的。
private void disableLetters()
{
char alphebetStart = Char.Parse("A");
char alphabetEnd = Char.Parse("Z");
for (i = alphabetStart; i <= alphabetEnd; i++);
{
string allLetters = i.ToString();
}
}
但挑战似乎才刚刚开始,因为我不能像这样将这些新创建的字符串用作按钮表单,
i.ToString().Enabled = false;
出于显而易见的原因。它们是字符串,但需要被理解为它们的原始形式。
漫长的搜索终于找到了一个解决方案,但我不太明白它在做什么。神奇的是,
Controls[allLetters].Enabled = false;
“控件”揭示了一些神秘的东西,“获取控件中包含的控件集合”。代码按计划工作,但看起来它所做的是在说:“将您创建的那些新字符串从 A 到 Z 理解为它们最初的按钮名称。”
如果有人能简要解释这段代码在做什么,我将不胜感激。