public static bool equalsIgnoreCase(string a, string b)
{
if (a == b) return true;
int an = a.Length;
int bn = b.Length;
if (an != bn) return false;
for (int i=0; i<an; i++)
{
int ac = a[i];
int bc = b[i];
if ('A' <= ac && ac <= 'Z') ac |= 0x20;
if ('A' <= bc && bc <= 'Z') bc |= 0x20;
if (ac != bc) return false;
}
return true;
}