While passing StringComparison.InvariantCulture and StringComparison.InvariantCultureIgnoreCase to comparison methods causes them to perform culture-insensitive comparisons, it does not cause them to do non-linguistic comparisons. This is important when comparing identifiers such as file paths, registry keys, and environment variables, or making security decisions based on the result. Instead, use StringComparison.OrdinalIgnoreCase and StringComparison.Ordinal for such comparisons.
For more information on the correct way to compare strings, see the following article:
New Recommendations for Using Strings in Microsoft .NET 2.0
http://msdn2.microsoft.com/en-us/library/ms973919.aspx