Как кто-то намекнул в комментарий, вы можете использовать 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);
Это определенно короче, но это хорошо, чтобы отметить, что это не совсем синонимы. Но они будут функционально эквивалентны, если у вас нет предшествующих условий, которые устанавливают e.Handled
без звонка return
.
Подсказка: '.Contains()' – zerkms
попытайтесь использовать регулярное выражение. –
еще один подсказку [.IndexOf] (http://msdn.microsoft.com/en-us/library/k8b1470s (v = vs.110) .aspx) – bansi