Choosing a string comparison method is simple!(hockblogs.net)
submitted by
hockman(505) 3 years, 11 months ago
In a lot of projects different users use different string comparison methods. I’ve seen a lot of code where there is a lot of ToLowers(), Equals, equality == operators, string.compare, string.CompareTo, and so on used for comparing strings. All different usages, sometimes for different purposes, but 99% of the time for the same purpose.
Since .NET 2.0 however, Microsoft has new recommendations, and I think it is really a must to read. A link to the new Microsoft recommendations can be found at the end of this article.
There are two very important things to ask yourself when comparing string:
* Should my string be treated as a symbolic set of bytes (an ordinal interpretation)?
* Should my string vary over culture (a culture-sensitive interpretation)?
If the string data, that is designed to be culture-agnostic and linguistically irrelevant, start using the StringComparison overloads, using either the StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase. These two overloads enforce a byte-by-byte comparison similar to strcmp that not only avoids bugs from linguistic interpretation of essentially symbolic strings, but provides better performance!
|category: C#
|Views: 11
tags:
C# another
Everyones tags:
Your Tags: