Добавить в цитаты Настройки чтения

Страница 83 из 502

<b>      else</b>

<b>        Console.WriteLine(&quot;Строка strl больше строки str3&quot;);</b>

<b>    Console.WriteLine();</b>

<b>    // Присвоить новую строку переменной str2. </b>

<b>    str2 = &quot;Один Два Три Один&quot;;</b>

<b>    // Поиск подстроки.</b>

<b>    idx = str2.IndexOf(&quot;Один&quot;, StringComparison.Ordinal);</b>

<b>    Console.WriteLine(&quot;Индекс первого вхождения подстроки &lt;Один&gt;: &quot; + idx);</b>

<b>    idx = str2.LastIndexOf(&quot;Один&quot;, StringComparison.Ordinal);</b>

<b>    Console.WriteLine(&quot;Индекс последнего вхождения подстроки &lt;0дин&gt;: &quot; + 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>Индекс первого вхождения подстроки &lt;0дин&gt;: О</b>

<b>Индекс последнего вхождения подстроки &lt;0дин&gt;: 13</b>

Прежде чем читать дальше,    обратите внимание    на то, что метод Compare() вызывается следующим образом.

<b>result = string.Compare(strl, str3, StringComparison.CurrentCulture);</b>

Как пояснялось ранее, метод Compare() объявляется как static, и поэтому он вызывается по имени, а не по экземпляру своего класса.

С помощью оператора + можно сцепить (т.е. объединить вместе) две строки. Например, в следующем фрагменте кода:

<b>string str1 = &quot;Один&quot;;</b>

<b>string str2 = &quot;Два&quot;;</b>

<b>string str3 = &quot;Три&quot;;</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 = { &quot;Это&quot;, &quot;очень&quot;, &quot;простой&quot;, &quot;тест.&quot; };</b>

<b>    Console.WriteLine(&quot;Исходный массив: &quot;); </b>

<b>    for (int i=0; i &lt; str.Length; i++)</b>

<b>      Console.Write(str[i] + &quot; &quot;);</b>

<b>    Console.WriteLine(&quot;n&quot;);</b>

<b>    // Изменить строку.</b>

<b>    str[1] = &quot;тоже&quot;;</b>

<b>    str[3] = &quot;до предела тест!&quot;;</b>

<b>    Console.WriteLine(&quot;Видоизмененный массив: &quot;); </b>

<b>    for (int i=0; i &lt; str.Length; i++)</b>

<b>      Console.Write(str[i] + &quot; &quot;);</b>

<b>  }</b>

<b>}</b>

Вот какой результат дает выполнение приведенного выше кода.

<b>Исходный массив:</b>

<b>Это очень простой тест.</b>

<b>Видоизмененный массив:</b>

<b>Это тоже простой до предела тест!</b>

Рассмотрим более интересный пример. В приведенной ниже программе целое число выводится словами. Например, число 19 выводится словами "один девять".