-1 c# if-statement
我想让这段代码变小
if (char.IsLetter(e.KeyChar) || e.KeyChar == ',' || e.KeyChar == '/' || e.KeyChar == ';' || e.KeyChar == '<' || e.KeyChar == '>')
{
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何......请帮助
谢谢
有人在评论中暗示,你可以使用Contains.
char[] allowable = new [] { ',', '/', ';', '<', '>' };
if (char.IsLetter(e.KeyChar) || allowable.Contains(e.KeyChar))
{
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
你可能想static readonly在父类中创建该数组.
正如丹尼斯在下面的评论中指出的那样,一个很好的替代方案可能是:
char[] allowable = new [] { ',', '/', ';', '<', '>' };
e.Handled = char.IsLetter(e.KeyChar) || allowable.Contains(e.KeyChar);
Run Code Online (Sandbox Code Playgroud)
这肯定更短,但值得注意的是,这些并不完全是同义词.但是它们在功能上是等价的,假设您没有先前的条件而e.Handled没有调用return.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |