if 语句麻烦 - 使代码更小
本文关键字:代码 语句 麻烦 if | 更新日期: 2023-09-27 18:32:15
我想让这段代码更小
if (char.IsLetter(e.KeyChar) || e.KeyChar == ',' || e.KeyChar == '/' || e.KeyChar == ';' || e.KeyChar == '<' || e.KeyChar == '>')
{
e.Handled = true;
}
但我不知道如何...请帮忙
谢谢
正如有人在评论中暗示的那样,您可以使用Contains
.
char[] allowable = new [] { ',', '/', ';', '<', '>' };
if (char.IsLetter(e.KeyChar) || allowable.Contains(e.KeyChar))
{
e.Handled = true;
}
您可能希望将该数组static readonly
父类中。
正如丹尼斯在下面的评论中指出的那样,所有这些的一个很好的替代方案可能是:
char[] allowable = new [] { ',', '/', ';', '<', '>' };
e.Handled = char.IsLetter(e.KeyChar) || allowable.Contains(e.KeyChar);
这肯定更短,但值得注意的是,这些并不完全是同义词。但它们在功能上是等效的,假设您没有在不调用 return
的情况下设置e.Handled
的先前条件。
2 行?
char[] allowableChars = new [] { ',', '/', ';', '<', '>' };
e.handled = (char.IsLetter(e.KeyChar) || allowableChars.Contains(e.KeyChar));