I made revisions to my method for comparing strings while ignoring case. This is in light of some good feedback I received. Here is the updated method:
public static bool AreEqualIgnoreCase(string firstString, string secondString)
{
// if references match (or both are null), quickly return
if (firstString == secondString) return true;
// if one is null, return false
if (firstString == null || secondString == null ) return false;
// with two different string instances, call Equals method
return firstString.Equals(secondString,
StringComparison.InvariantCultureIgnoreCase);
}
With the above method, the following logic applies:
Strings.AreEqualIgnoreCase(null, null) == true;
Strings.AreEqualIgnoreCase(null, "string") == false;
Strings.AreEqualIgnoreCase("string", null) == false;
Strings.AreEqualIgnoreCase("string", "text") == false;
Strings.AreEqualIgnoreCase("string", "STRING") == true;