Страница 82 из 502
<b>int LastlndexOf(string</b> <i>value,</i> <b>StringComparison</b> <i>comparisonType)</i>
Осуществляет поиск в вызывающей строке последнего вхождения подстроки, определяемой аргументом value. Возвращает индекс последнего совпадения с искомой подстрокой или -1, если она не обнаружена. Способ поиска определяется аргументом comparisonType
<b>string ToLower(Culturelnfo. CurrentCulture</b> <i>culture)</i>
Возвращает вариант вызывающей строки в нижнем регистре. Способ преобразования определяется аргументом culture
<b>string ToUpper(Culturelnfo. CurrentCulture</b> <i>culture)</i>
Возвращает вариант вызывающей строки в верхнем регистре. Способ преобразования определяется аргументом culture
Отдельный символ выбирается из строки с помощью индекса, как в приведенном ниже фрагменте кода.
<b>string str = "тест";</b>
<b>Console.WriteLine(str[0] ) ;</b>
В этом фрагменте кода выводится символ "т", который является первым в строке "тест". Как и в массивах, индексирование строк начинается с нуля. Следует, однако, иметь в виду, что с помощью индекса нельзя присвоить новое значение символу в строке. Индекс может служить только для выборки символа из строки.
Для проверки двух строк на равенство служит оператор ==. Как правило, если оператор == применяется к ссылкам на объект, то он определяет, являются ли они ссылками на один и тот же объект. Совсем иначе обстоит дело с объектами типа string. Когда оператор == применяется к ссылкам на две строки, он сравнивает содержимое этих строк. Это же относится и к оператору !=. В обоих случаях выполняется порядковое сравнение. Для проверки двух строк на равенство с учетом культурной среды служит метод Equals(), где непременно нужно указать способ сравнения в виде аргумента StringComparison.CurrentCulture. Следует также иметь в виду, что метод Compare() служит для сравнения строк с целью определить отношение порядка, например для сортировки. Если же требуется проверить символьные строки на равенство, то для этой цели лучше воспользоваться методом Equals() или строковыми операторами.
В приведенном ниже примере программы демонстрируется несколько операций со строками.
<b>// Некоторые операции со строками.</b>
<b>using System;</b>
<b>using System.Globalization;</b>
<b>class StrOps {</b>
<b> static void Main() {</b>
<b> string strl = "Программировать в .NET лучше всего на С#.";</b>
<b> string str2 = "Программировать в .NET лучше всего на С#.";</b>
<b> string str3 = "Строки в C# весьма эффективны.";</b>
<b> string strUp, strLow;</b>
<b> int result, idx;</b>
<b> Console.WriteLine("strl: " + strl);</b>
<b> Console.WriteLine("Длина строки strl: " + strl.Length);</b>
<b> // Создать варианты строки strl, набранные </b>
<b> // прописными и строчными буквами.</b>
<b> strLow = strl.ToLower(CultureInfo.CurrentCulture);</b>
<b> strUp = strl.ToUpper (CultureInfo.CurrentCulture);</b>
<b> Console.WriteLine("Вариант строки strl, " +</b>
<b> "набранный строчными буквами:n " + strLow); </b>
<b> Console.WriteLine("Вариант строки strl, " +</b>
<b> "набранный прописными буквами:n " + strUp);</b>
<b> Console.WriteLine();</b>
<b> // Вывести строку strl посимвольно.</b>
<b> Console.WriteLine("Вывод строки strl посимвольно."); </b>
<b> for (int i=0; i < strl.Length; i++)</b>
<b> Console.Write(strl[i]);</b>
<b> Console.WriteLine("n");</b>
<b> // Сравнить строки способом порядкового сравнения, </b>
<b> if (strl == str2)</b>
<b> Console.WriteLine("strl == str2"); </b>
<b> else</b>
<b> Console.WriteLine("strl != str2"); </b>
<b> if (strl == str3)</b>
<b> Console.WriteLine("strl == str3"); </b>
<b> else</b>
<b> Console.WriteLine("strl != str3");</b>
<b> // Сравнить строки с учетом культурной среды.</b>
<b> result = string.Compare(str3, strl, StringComparison.CurrentCulture) ; </b>
<b> if(result == 0)</b>
<b> Console.WriteLine("Строки strl и str3 равны"); </b>
<b> else </b>
<b> if (result < 0)</b>
<b> Console.WriteLine("Строка strl-меньше строки str3"); </b>