Класс типаstringсодержит ряд методов для обращения со строками. Некоторые из этих методов перечислены в табл. 7.1. Обратите внимание на то, что некоторые методы принимают параметр типаStringComparison.Это перечислимый тип, определяющий различные значения, которые определяют порядок сравнения символьных строк. (О перечислениях речь пойдет в главе 12, но для применения типаStringComparisonк символьным строкам знать о перечислениях необязательно.) Нетрудно догадаться, что символьные строки можно сравнивать разными способами. Например, их можно сравнивать на основании двоичных значений символов, из которых они состоят. Такое сравнение называетсяпорядковым.Строки можно также сравнивать с учетом различных особенностей культурной среды, например, в лексикографическом порядке. Это так называемое сравненениес учетом культурной qpedbi.(Учитывать культурную среду особенно важно в локализуемых приложениях.) Кроме того, строки можно сравниватьс учетомилибез учетарегистра. Несмотря на то что существуют перегружаемые варианты методовCompare (), Equals (), IndexOf ()иLast IndexOf (), обеспечивающие используемый по умолчанию подход к сравнению символьных строк, в настоящее время считается более приемлемым явно указывать способ требуемого сравнения, чтобы избежать неоднозначности, а также упростить локализацию приложений. Именно поэтому здесь рассматривают разные способы сравнения символьных строк.

Как правило и за рядом исключений, для сравнения символьных строк с учетом культурной среды (т.е. языковых и региональных стандартов) применяется способStringComparison . CurrentCulture.Если же требуется сравнить строки только на основании значений их символов, то лучше воспользоваться способомStringComparison . Ordinal,а для сравнения строк без учета регистра — одним из двух способов:StringComparison . CurrentCulturelgnoreCaseилиStringComparison . OrdinallgnoreCase.Кроме того, можно указать сравнение строк без учета культурной среды (подробнее об этом — в главе 22).

Обратите внимание на то, что методCompare() объявляется в табл. 7.1 какstatic.Подробнее о модификатореstaticречь пойдет в главе 8, а до тех пор вкратце поясним, что он обозначает следующее: методCompare() вызывается по имени своего класса, а не по его экземпляру. Следовательно, для вызова методаCompare() служит следующая общая форма:

результат =string.Compare(strl,str2, способ);

гдеспособобозначает конкретный подход к сравнению символьных строк.

ПРИМЕЧАНИЕ

Перейти на страницу:

Похожие книги