Kniga-Online.club
» » » » Полное руководство. С# 4.0 - Шилдт Герберт

Полное руководство. С# 4.0 - Шилдт Герберт

Читать бесплатно Полное руководство. С# 4.0 - Шилдт Герберт. Жанр: Программирование год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Метод StartsWith() возвращает логическое значение true, если вызывающаястрока начинается с подстроки, переданной ему в качестве аргумента value. А методEndsWith() возвращает логическое значение true, если вызывающая строка оканчивается подстрокой, переданной ему в качестве аргумента value. В противном случаеоба метода возвращают логическое значение false.

В обоих рассматриваемых здесь методах поиск осуществляется с учетом культурнойсреды. Для того чтобы указать конкретный способ поиска подстроки, можно воспользоваться приведенными ниже вариантами этих методов с дополнительным параметром типа StringComparison.public bool StartsWith(string value, StringComparison comparisonType)public bool EndsWith(string value, StringComparison comparisonType)

Оба варианта рассматриваемых здесь методов поиска действуют таким же образом,как и предыдущие их варианты. Но в то же время они позволяют явно указать конкретный способ поиска.

В приведенном ниже примере программы демонстрируется применение нескольких методов поиска в строке.// Продемонстрировать поиск в строке.using System;class StringSearchDemo { static void Main() { string str = "C# обладает эффективными средствами обработки строк."; int idx; Console.WriteLine("Строка str: " + str); idx = str.IndexOf('о'); Console.WriteLine("Индекс первого вхождения символа 'o': " + idx); idx = str.LastIndexOf('о'); Console.WriteLine("Индекс последнего вхождения символа 'o': " + idx); idx = str.IndexOf("ми", StringComparison.Ordinal); Console.WriteLine("Индекс первого вхождения подстроки "ми": " + idx); idx = str.LastlndexOf("ми", StringComparison.Ordinal); Console.WriteLine("Индекс последнего вхождения подстроки "ми": " + idx); char[] chrs = { 'а', 'б', 'в' }; idx = str.IndexOfAny(chrs); Console.WriteLine("Индекс первого вхождения символов " + " 'а', 'б' или 'в': " + idx); if(str.StartsWith("C# обладает", StringComparison.Ordinal)) Console.WriteLine("Строка str начинается с подстроки "C# обладает!""); if(str.EndsWith("строк.", StringComparison.Ordinal)) Console.WriteLine("Строка str оканчивается подстрокой "строк.""); }}

Ниже приведен результат выполнения этой программы.Строка str: C# обладает эффективными средствами обработки строк.Индекс первого вхождения символа 'о': 3Индекс последнего вхождения символа 'о': 49Индекс первого вхождения подстроки "ми": 22Индекс последнего вхождения подстроки "ми": 33Индекс первого вхождения символов 'а', 'б' или 'в': 4Строка str начинается с подстроки "C# обладает"Строка str оканчивается подстрокой "строк."

Во многих случаях полезным для поиска в строке оказывается метод Contains().Его общая форма выглядит следующим образом.public bool Contains(string value)

Метод Contains() возвращает логическое значение true, если вызывающая строка содержит подстроку, обозначаемую параметром value, в противном случае — логическое значение false. Поиск указываемой подстроки осуществляется порядковымспособом. Этот метод особенно полезен, если требуется только выяснить, находитсяли конкретная подстрока в другой строке. В приведенном ниже примере программыдемонстрируется применение метода Contains().// Продемонстрировать применение метода Contains().using System;class ContainsDemo { static void Main() { string str = "C# сочетает эффективность с производительностью."; if(str.Contains("эффективность")) Console.WriteLine("Обнаружена подстрока "эффективность"."); if(str.Contains("эффе")) Console.WriteLine("Обнаружена подстрока "эффе"."); if(!str.Contains("эффективный")) Console.WriteLine("Подстрока "эффективный!" не обнаружена."); }}

Выполнение этой программы приводит к следующему результату.Обнаружена подстрока "эффективность".Обнаружена подстрока "эффе".Подстрока "эффективный" не обнаружена.

Как следует из результата выполнения приведенной выше программы, методContains() осуществляет поиск на совпадение произвольной последовательностисимволов, а не только целых слов. Поэтому в вызывающей строке обнаруживается иподстрока "эффективность", и подстрока "эффе". Но поскольку в вызывающей строке отсутствует подстрока "эффективный", то она и не обнаруживается.

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

Таблица 22.3. Методы поиска в строке, поддерживаемые в классе StringМетодНазначениеpublic bool Contains(string value)Возвращает логическое значение true, если вызывающая строка содержит подстроку value. Если же подстрока value не обнаружена, возвращается логическое значение falsepublic bool EndsWith(string value)Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает логическое значение falsepublic bool EndsWith(string value, StringComparison comparisonType)Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает логическое значение false. Параметр comparisonType определяет конкретный способ поискаpublic bool EndsWith(string value, bool ignoreCase, CultureInfo culture)Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value, иначе возвращает логическое значение false. Если параметр ignoreCase принимает логическое значение true, то при сравнении не учитываются различия между прописным и строчным вариантами букв. В противном случае эти различия учитываются. Поиск осуществляется с использованием информации о культурной среде, обозначаемой параметром culturepublic int IndexOf(char value)Возвращает индекс первого вхождения символа value в вызывающей строке. Если искомый символ не обнаружен, то возвращается значение -1public int IndexOf(string value)Возвращает индекс первого вхождения подстроки value в вызывающей строке. Если искомая подстрока не обнаружена, то возвращается значение -1public int IndexOf(char value, int startIndex)Возвращает индекс первого вхождения символа value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex. Метод возвращает значение -1, если искомый символ не обнаруженpublic int IndexOf(string value, int startIndex)Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int IndexOf(char value, int startIndex, int count)Возвращает индекс первого вхождения символа value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если искомый символ не обнаруженpublic int IndexOf(string value, int startIndex, int count)Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int IndexOf(string value, StringComparison comparisonType)Возвращает индекс первого вхождения подстроки value в вызывающей строке. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int IndexOf(string value, int startIndex, StringComparison comparisonType)Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int IndexOf(string value, int startIndex, int count, StringComparison comparisonType)Возвращает индекс первого вхождения подстроки value в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int LastlndexOf(char value)Возвращает индекс последнего вхождения символа value в вызывающей строке. Если искомый символ не обнаружен, возвращается значение -1public int IndexOfAny(char[] anyOf)Возвращает индекс первого вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Метод возвращает значение -1, если не обнаружено совпадение ни с одним из символов из массива anyOf. Поиск осуществляется порядковым способомpublic int IndexOfAny(char[] anyOf, int startIndex)Возвращает индекс первого вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex Метод возвращает значение -1, если не обнаружено совпадение ни с одним из символов из массива anyOf. Поиск осуществляется порядковым способомpublic int IndexOfAny(char[] anyOf, int startIndex, int count)Возвращает индекс первого вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Поиск начинается с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если не обнаружено совпадение ни с одним из символов из массива anyOf. Поиск осуществляется порядковым способомpublic int LastIndexOf(string value)Возвращает индекс последнего вхождения подстроки value в вызывающей строке. Если искомая подстрока не обнаружена, возвращается значение -1public int LastIndexOf(char value, int startIndex)Возвращает индекс последнего вхождения символа value в части вызывающей строки. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и заканчивая элементом с нулевым индексом. Метод возвращает значение -1, если искомый символ не обнаруженpublic int LastIndexOf(string value, int startIndex)Возвращает индекс последнего вхождения подстроки value в части вызывающей строки. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и заканчивая элементом с нулевым индексом. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int LastIndexOf(char value, int startIndex, int count)Возвращает индекс последнего вхождения символа value в части вызывающей строки. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если искомый символ не обнаруженpublic int LastIndexOf(string value, int startIndex, int count)Возвращает индекс последнего вхождения подстроки value в части вызывающей строки. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int LastIndexOf(string value, StringComparison comparisonType)Возвращает индекс последнего вхождения подстроки value в вызывающей строке. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int LastIndexOf(string value, int startIndex, StringComparison comparisonType)Возвращает индекс последнего вхождения подстроки value в части вызывающей строки. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и заканчивая элементом с нулевым индексом. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int LastIndexOf(string value, int startIndex, int count, StringComparison comparisonType)Возвращает индекс последнего вхождения подстроки value в части вызывающей строки. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count. Параметр comparisonType определяет конкретный способ выполнения поиска. Метод возвращает значение -1, если искомая подстрока не обнаруженаpublic int LastIndexOfAny(char[] anyOf)Возвращает индекс последнего вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Метод возвращает значение -1, если не обнаружено совпадение ни с одним из символов из массива anyOf. Поиск осуществляется порядковым способомpublic int LastIndexOfAny(char[] anyOf, int startIndex)Возвращает индекс последнего вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Поиск начинается в обратном порядке с элемента, указываемого по индексу startIndex, и заканчивая элементом с нулевым индексом. Метод возвращает значение -1, если не обнаружено совпадение ни с одним из символов из массива anyOf. Поиск осуществляется порядковым способомpublic int LastIndexOfAny(char[] anyOf, int startIndex, int count)Возвращает индекс последнего вхождения любого символа из массива anyOf, обнаруженного в вызывающей строке. Поиск осуществляется в обратном порядке, начиная с элемента, указываемого по индексу startIndex, и охватывает число элементов, определяемых параметром count, число элементов, определяемых параметром count. Метод возвращает значение -1, если не обнаружено совпадение ни с одним из символов из массива anyOf. Поиск осуществляется порядковым способомpublic bool StartsWith(string value)Возвращает логическое значение true, если вызывающая строка начинается с подстроки value. В противном случае возвращается логическое значение falsepublic bool StartsWith(string value, StringComparison comparisonType)Возвращает логическое значение true, если вызывающая строка начинается с подстроки value. В противном случае возвращается логическое значение false. Параметр comparisonType определяет конкретный способ выполнения поискаpublic bool StartsWith(string value, bool ignoreCase, CultureInfo culture)Возвращает логическое значение true, если вызывающая строка начинается с подстроки value. В противном случае возвращается логическое значение false. Если параметр ignoreCase принимает логическое значение true, то при сравнении не учитываются различия между прописным и строчным вариантами букв. В противном случае эти различия учитываются. Поиск осуществляется с использованием информации о культурной среде, обозначаемой параметром cultureРазделение и соединение строк

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

Шилдт Герберт читать все книги автора по порядку

Шилдт Герберт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Полное руководство. С# 4.0 отзывы

Отзывы читателей о книге Полное руководство. С# 4.0, автор: Шилдт Герберт. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*