Чтение онлайн

ЖАНРЫ

C# 4.0 полное руководство - 2011

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

Шрифт:

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 в ней не найден, jo возвращается значение -1. При таком поиске символа настройки культурной среды игнорируются. Следовательно, в данном случае осуществляется порядковый поиск первого вхождения символа. .

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

public int IndexOf(String value)

public int IndexOf(String value, StringComparison comparisonType)

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

Для обнаружения последнего вхождения символа или строки в исходной строке служит метод Last IndexOf . И для этого метода определено несколько перегружаемых форм. Ниже приведена одна из форм для поиска последнего вхождения символа в вызывающей строке.

public int LastlndexOf(char value)

В

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

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

public int LastlndexOf(string value)

public int LastlndexOf(string value, StringComparison comparisonType)

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

В классе String предоставляются еще два интересных метода поиска в строке: IndexOf Any () и LastlndexOf Any . Оба метода обнаруживают первый символ, совпадающий с любым набором символов. Ниже приведены простейшие формы этих методов.

public int IndexOfAny(char[] anyOf) public int LastlndexOfAny(char[] anyOf)

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

При обработке символьных строк нередко оказывается полезно знать, начинается ли строка заданной подстрокой или же оканчивается ею. Для этой цели служат методы StartsWith () и EndsWith . Ниже приведены их простейшие формы.

public bool StartsWith(string value) public bool EndsWith(string value)

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

Поделиться с друзьями: