public int IndexOf(String value, StringComparison comparisonType)
В первой форме рассматриваемого здесь метода поиск первого вхождения строки, обозначаемой параметром StringComparison, обозначающее способ поиска. В если искомая строка не найдена, то в обеих формах данного метода возвращается значение -1.
Для обнаружения последнего вхождения символа или строки в исходной строке служит метод LastIndexOf(). И для этого метода определено несколько перегружаемых форм. Ниже приведена одна из форм для поиска последнего вхождения символа в вызывающей строке.
public int LastlndexOf(char value)
В этой форме метода LastlndexOf() осуществляется порядковый поиск, а в итоге возвращается последнее вхождение символа
Ниже приведены еще две формы метода LastlndexOf(), позволяющие искать последнее вхождение одной строки в другой.
public int LastlndexOf(string value)
public int LastlndexOf(string value, StringComparison comparisonType)
В первой форме рассматриваемого здесь метода поиск последнего вхождения строки, обозначаемой параметром StringComparison, обозначающее способ поиска. Если же искомая строка не найдена, то в обеих формах данного метода возвращается значение -1.
В классе String предоставляются еще два интересных метода поиска в строке: IndexOfAny() и LastlndexOfAny(). Оба метода обнаруживают первый символ, совпадающий с любым набором символов. Ниже приведены простейшие формы этих методов.
public int IndexOfAny(char[] anyOf) public int LastlndexOfAny(char[] anyOf)
Метод IndexOfAny() возвращает индекс первого вхождения любого символа из массива LastlndexOfAny() — индекс последнего вхождения любого символа из массива
При обработке символьных строк нередко оказывается полезно знать, начинается ли строка заданной подстрокой или же оканчивается ею. Для этой цели служат методы StartsWith() и EndsWith(). Ниже приведены их простейшие формы.
public bool StartsWith(string value)
public bool EndsWith(string value)
Метод StartsWith() возвращает логическое значение true, если вызывающая строка начинается с подстроки, переданной ему в качестве аргумента EndsWith() возвращает логическое значение true, если вызывающая строка оканчивается подстрокой, переданной ему в качестве аргумента 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);