Recommendations for String
Usage
When you develop with the .NET Framework, follow these
simple recommendations when you use strings:
·
Use overloads that explicitly specify the string
comparison rules for string operations. Typically, this involves calling a
method overload that has a parameter of type StringComparison.
·
Use StringComparison.Ordinal
or StringComparison.OrdinalIgnoreCase
for comparisons as your safe default for culture-agnostic string matching.
·
Use comparisons with StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase for better
performance.
·
Use string operations that are based on StringComparison.CurrentCulture when
you display output to the user.
·
Use the non-linguistic StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase values instead of
string operations based on CultureInfo.InvariantCulture
when the comparison is linguistically irrelevant (symbolic, for example).
·
Use the String.ToUpperInvariant
method instead of the String.ToLowerInvariant
method when you normalize strings for comparison.
·
Use an overload of the String.Equals method to test whether two strings are
equal.
·
Use the String.Compare
and String.CompareTo methods to
sort strings, not to check for equality.
·
Use culture-sensitive formatting to display
non-string data, such as numbers and dates, in a user interface. Use formatting
with the invariant culture to persist non-string data in string form.
Avoid the following practices when you use strings:
·
Do not use overloads that do not explicitly or
implicitly specify the string comparison rules for string operations.
·
Do not use string operations based on StringComparison.InvariantCulture in most
cases. One of the few exceptions is when you are persisting linguistically
meaningful but culturally agnostic data.
·
Do not use an overload of the String.Compare or CompareTo method and test for a return
value of zero to determine whether two strings are equal.
·
Do not use culture-sensitive formatting to
persist numeric data or date and time data in string form.
The rest of the
article contains:
- Specifying String Comparisons Explicitly
- The Details of String Comparison
- Choosing a StringComparison Member for Your Method Call
- Common String Comparison Methods in the .NET Framework
- Methods that Perform String Comparison Indirectly
- Displaying and Persisting Formatted Data
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.