среда, 6 апреля 2011 г.

String. Методы. Часть 1

Всем привет. В данную категорию я публиковал статью последний раз аж двадцатого февраля – довольно давно. Не ожидал я от себя такого – что так запущу язык программирования, на котором сам программирую. Но – надо исправлять и начинать публиковать материал. Чтобы наверстать упущенное – я опубликую около четырех статей (вроде так) одну за другой. Но – не сегодня, а постепенно – одну или две статьи в день. Так что – сегодня будет только одна.

Вообще в этом цикле статей будут изучены (как вы поняли из названия сегодняшней статьи) – методы класса String. Этих методов довольно много, давайте с ними познакомимся:
  • Compare
  • CompareOrdinal
  • Concat
  • Copy
  • EndsWith, StartWith
  • IndexOf, LastIndexOf
  • IndexOfAny
  • Insert
  • Join
  • Split
  • Remove
  • Replace
  • PadLeft, PadRight
Вот, шестнадцать методов я насчитал. Впечатлает? Не то, что у класса Char. Сегодня познаколю вас с первыми двумя методами.

Compare:

Этот метод сравнивает две строки и возвращает отрицательное значение, если первая строка оказывается меньше второй, положительное значение, если первая строка больше второй и ноль, если строки равны. Методу Compare можно посылать различные аргументы, но первые два из них – это всегда сравниваемые строки.

Самый простой способ вызова:

            String.Compare(Str1, Str2)

Следующая форма метода
Compare принимает третий аргумент – логическое значение, определяющее, должен ли при сравнении строк учитываться регистр их символов (True – не учитывает регистр, False – учитывает). Вот пример:

MsgBox(String.Compare("один", "ОДИН", False).ToString)
       MsgBox(String.Compare("один", "ОДИН", True).ToString)

И еще один способ вызова этого метода – позволяет сравнивать фрагменты двух строк:

String.Compare(Str1, Index1, Str2, Index2, Length)

Str1 – первая строка, Index1 – начальная позиция для сравнения фрагмента строки, Str2 и Index2, надеюсь, догадались что это, Length – длина фрагмента. Если выполнить следующий код, то он вернет вам ноль (так как фрагменты равны):

MsgBox(String.Compare("11одинDf", 2, "22одинWE", 2, 3))

CompareOrdinal:

Этот метод, подобно методу Compare, сравнивает две строки, но не учитывает национальные кодировки. Этот метод возвращает ноль, если две строки одинаковы, и положительное или отрицательное значение, если она различны. Только не обязательно, что это будет 1 или -1. Значение, возвращаемое методом CompareOrdinal может быть любым, поскольку оно представляет собой числовую разность между Unicode-кодами первых отличающихся символов двух строк.

Следующий код вернет в результате 1024:

MsgBox(String.CompareOrdinal("два", "дв0"))
            
На этом сегодня закончу. Видимо, получится не четыре статьи (как задумывал изначально), а пять. Ладно, пусть пять будет. К каждому методу буду прикладывать один-два примера, так что статьи будут объемными и полезными.

Комментариев нет:

Отправить комментарий