Вход/Регистрация
Полное руководство. С# 4.0
вернуться

Шилдт Герберт

Шрифт:

Вот к какому результату приводит выполнение этой программы. Результат: значение равно 19 Результат: привет 88 20 False 23.45 Результат: MyClass текущий счет равен 1

В данном примере метод Concat сцепляет строковые представления различных типов данных. Для каждого аргумента этого метода вызывается соответствующий ме тод ToString, с помощью которого получается строковое представление аргумента. Следовательно, в следующем вызове метода Concat: string result = String.Concat("значение равно " + 19);

метод Int32.ToString вызывается для получения строкового представления цело го значения 19, а затем метод Concat сцепляет строки и возвращает результат.

Обратите также внимание на применение объекта определяемого пользователем класса MyClass в следующем вызове метода Concat. result = String.Concat(me, " текущий счет равен ", MyClass.Count);

В данном случае возвращается строковое представление объекта типа MyClass, сцепленное с указываемой строкой. По умолчанию это просто имя класса. Но если переопределить метод ToString, то вместо строки с именем класса MyClass может быть возвращена другая строка. В качестве упражнения попробуйте ввести в приведен ный выше пример программы следующий фрагмент кода. public override string ToString { return "Объект типа MyClass"; }

В этом случае последняя строка результата выполнения программы будет выгля деть так, как показано ниже. Результат: Объект типа MyClass текущий счет равен 1

В версию 4.0 среды .NET Framework добавлены еще две формы метода Concat, приведенные ниже. public static string Concat<T>(IEnumerable<T> values) public static string Concat(IEnumerable<string> values)

В первой форме этого метода возвращается символьная строка, состоящая из сце пленных строковых представлений ряда значений, имеющихся в объекте, который обозначается параметром values и может быть объектом любого типа, реализующего интерфейс IEnumerable<T>. А во второй форме данного метода сцепляются строки, обозначаемые параметром values. (Следует, однако, иметь в виду, что если прихо дится выполнять большой объем операций сцепления символьных строк, то для этой цели лучше воспользоваться средствами класса StringBuilder.) Поиск в строке

В классе String предоставляется немало методов для поиска в строке. С их помо щью можно, например, искать в строке отдельный символ, строку, первое или послед нее вхождение того и другого в строке. Следует, однако, иметь в виду, что поиск может осуществляться либо с учетом культурной среды либо порядковым способом.

Для обнаружения первого вхождения символа или подстроки в исходной стро ке служит метод IndexOf. Для него определено несколько перегружаемых форм. Ниже приведена одна из форм для поиска первого вхождения символа в исходной строке. public int IndexOf(char value)

В этой форме метода IndexOf возвращается первое вхождение символа value в вызывающей строке. Если символ value в ней не найден, то возвращается значение -1. При таком поиске символа настройки культурной среды игнорируются. Следователь но, в данном случае осуществляется порядковый поиск первого вхождения символа.

Ниже приведены еще две формы метода IndexOf, позволяющие искать первое вхождение одной строки в другой. public int IndexOf(String value) public int IndexOf(String value, StringComparison comparisonType)

В первой форме рассматриваемого здесь метода поиск первого вхождения строки, обозначаемой параметром value, осуществляется с учетом культурной среды. А во вто рой форме предоставляется возможность указать значение типа StringComparison, обозначающее способ поиска. В если искомая строка не найдена, то в обеих формах данного метода возвращается значение -1.

Для обнаружения последнего вхождения символа или строки в исходной строке служит метод LastIndexOf. И для этого метода определено несколько перегружае мых форм. Ниже приведена одна из форм для поиска последнего вхождения символа в вызывающей строке. public int LastlndexOf(char value)

В этой форме метода LastIndexOf осуществляется порядковый поиск, а в итоге возвращается последнее вхождение символа value в вызывающей строке или же зна чение -1, если искомый символ не найден.

Ниже приведены еще две формы метода LastIndexOf, позволяющие искать по следнее вхождение одной строки в другой. public int LastlndexOf(string value) public int LastlndexOf(string value, StringComparison comparisonType)

В первой форме рассматриваемого здесь метода поиск последнего вхожде ния строки, обозначаемой параметром value, осуществляется с учетом культур ной среды. А во второй форме предоставляется возможность указать значение типа StringComparison, обозначающее способ поиска. Если же искомая строка не найде на, то в обеих формах данного метода возвращается значение -1.

В классе String предоставляются еще два интересных метода поиска в строке: IndexOfAny и LastIndexOfAny. Оба метода обнаруживают первый символ, со впадающий с любым набором символов. Ниже приведены простейшие формы этих методов. public int IndexOfAny(char[] anyOf) public int LastIndexOfAny(char[] anyOf)

Метод IndexOfAny возвращает индекс первого вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке, а метод LastIndexOfAny — индекс последнего вхождения любого символа из массива anyOf, обнаруженного в вы зывающей строке. Если совпадение символов не обнаружено, то в обоих случаях воз вращается значение -1. Кроме того, в обоих рассматриваемых здесь методах осущест вляется порядковый поиск.

  • Читать дальше
  • 1
  • ...
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: