public new bool Equals(object firstObject, object secondObject)
{
string firstString = firstObject as string;
string secondString = secondObject as string;
if (firstString == null)
{
return secondString == null;
}
if (secondString != null)
{
int index = firstString.Length;
if (index == secondString.Length)
{
if (FastGetHashCode(firstString) == FastGetHashCode(secondString))
{
int comparisons = firstString.Length;
while (index > 0)
{
index--;
if (AsciiToLower[firstString[index]] != AsciiToLower[secondString[index]])
{
return false;
}
}
return true;
}
}
}
return false;
}
}