Страница 83 из 502
<b> else</b>
<b> Console.WriteLine("Строка strl больше строки str3");</b>
<b> Console.WriteLine();</b>
<b> // Присвоить новую строку переменной str2. </b>
<b> str2 = "Один Два Три Один";</b>
<b> // Поиск подстроки.</b>
<b> idx = str2.IndexOf("Один", StringComparison.Ordinal);</b>
<b> Console.WriteLine("Индекс первого вхождения подстроки <Один>: " + idx);</b>
<b> idx = str2.LastIndexOf("Один", StringComparison.Ordinal);</b>
<b> Console.WriteLine("Индекс последнего вхождения подстроки <0дин>: " + idx) ;</b>
<b> }</b>
<b>}</b>
При выполнении этой программы получается следующий результат.
<b>strl: Программировать в .NET лучше всего на С#.</b>
<b>Длина строки str1: 41</b>
<b>Вариант строки str1, набранный строчными буквами: </b>
<b> программировать в .net лучше всего на с#.</b>
<b>Вариант строки str1, набранный прописными буквами: </b>
<b> программировать в .net лучше всего на с#.</b>
<b>Вывод строки str1 посимвольно.</b>
<b>Программировать в .NET лучше всего на С#.</b>
<b>str1 == str2 </b>
<b>str1 != str3</b>
<b>Строка str1 больше строки str3</b>
<b>Индекс первого вхождения подстроки <0дин>: О</b>
<b>Индекс последнего вхождения подстроки <0дин>: 13</b>
Прежде чем читать дальше, обратите внимание на то, что метод Compare() вызывается следующим образом.
<b>result = string.Compare(strl, str3, StringComparison.CurrentCulture);</b>
Как пояснялось ранее, метод Compare() объявляется как static, и поэтому он вызывается по имени, а не по экземпляру своего класса.
С помощью оператора + можно сцепить (т.е. объединить вместе) две строки. Например, в следующем фрагменте кода:
<b>string str1 = "Один";</b>
<b>string str2 = "Два";</b>
<b>string str3 = "Три";</b>
<b>string str4 = str1 + str2 + str3;</b>
переменная str4 инициализируется строкой "ОдинДваТри".
И еще одно замечание: ключевое слово string является псевдонимом класса System. String, определенного в библиотеке классов для среды .NET Framework, т.е. оно устанавливает прямое соответствие с этим классом. Следовательно, поля и методы, определяемые типом string, относятся непосредственно к классу System.String, в который входят и многие другие компоненты. Подробнее о классе System.String речь пойдет в части II этой книги.
Аналогично данным любого другого типа, строки могут быть организованы в массивы. Ниже приведен соответствующий пример.
<b>// Продемонстрировать массивы строк.</b>
<b>using System;</b>
<b>class StringArrays { </b>
<b> static void Main() {</b>
<b> string[] str = { "Это", "очень", "простой", "тест." };</b>
<b> Console.WriteLine("Исходный массив: "); </b>
<b> for (int i=0; i < str.Length; i++)</b>
<b> Console.Write(str[i] + " ");</b>
<b> Console.WriteLine("n");</b>
<b> // Изменить строку.</b>
<b> str[1] = "тоже";</b>
<b> str[3] = "до предела тест!";</b>
<b> Console.WriteLine("Видоизмененный массив: "); </b>
<b> for (int i=0; i < str.Length; i++)</b>
<b> Console.Write(str[i] + " ");</b>
<b> }</b>
<b>}</b>
Вот какой результат дает выполнение приведенного выше кода.
<b>Исходный массив:</b>
<b>Это очень простой тест.</b>
<b>Видоизмененный массив:</b>
<b>Это тоже простой до предела тест!</b>
Рассмотрим более интересный пример. В приведенной ниже программе целое число выводится словами. Например, число 19 выводится словами "один девять".