When you convert ascii a and a to unicode, you will get a and A , obviously, they do not match.
Update: Here is an example of what I think you are asking:
var c = 'א'; c.Dump(); char.IsUpper(c).Dump("is upper"); // False char.IsLower(c).Dump("is lower"); // False char.IsLetterOrDigit(c).Dump("is letter or digit"); // True char.IsNumber(c).Dump("is Number"); // False
source share