Если вы ожидаете только символы, находящиеся в «нормальном» диапазоне (один байт - то есть ASCII):
if ((toChar & ~32) == 'A')
Единственная разница между
'a'
: 01100001
'A'
: 01000001
означает, что бит 5 включен, и, поскольку 2 5 равен 32
, AND с отрицанием (перевернуть все биты) 32
маскирует все, кроме бита 5, превращая 'a'
в 'A'
.