Применение строк в переключателях
Статический метод Join () предназначен для выполнения действий в некотором смысле обратных действиям метода Split (). Обращение string. Join («-:-», words) объединяет (конкатенирует) строки массива, представленного ссылкой words, т. е. соединяет в одну строку слова исходного предложения. Между словами вставляется как разделитель строка, использованная в качестве первого аргумента метода Join… Читать ещё >
Применение строк в переключателях (реферат, курсовая, диплом, контрольная)
Мы уже упоминали, что объекты класса string (и ссылки на них) могут использоваться в метках переключателя и служить значением переключающего выражения. Для иллюстрации этих возможностей рассмотрим схему решения такой задачи: «Ввести фамилию человека (например, служащего компании) и вывести имеющиеся сведения о нем». Характер этих сведений и конкретные сведения нам не важны — покажем общую схему решения подобных задач с использованием переключателя и строк.
Console.Write («Введите фамилию:»); string name = Console. ReadLineQ; swich (name).
{
case «Сергеев»: Console. WriteLine («(Dpcxn Петрович»);
…Вывод данных о Сергееве… break;
case «Туров» :
…Вывод данных о Турове… break;
default: Console. Write («HeT сведений»);
}
Массивы строк
Как любые объекты, строки можно объединять в массивы. Хотя внимательный читатель заметит, что в массив помещаются не строки, а только ссылки на них, но при использовании массивов ссылок на строки не требуются никакие специальные операции для организации обращения к собственно строкам через ссылки на них. Поэтому в литературе, посвященной языку С#, зачастую говорят просто о массивах строк. В следующей программе создается массив ссылок на строки, по умолчанию инициализированный пустыми строками. Затем в цикле элементам массива (ссылкам) присваиваются значения ссылок на объекты-строки разной длины. Далее к массиву применяется оператор перебора элементов контейнеров foreach, и строки выводятся на консоль.
// 0801.cs — массивы строк… using System; class Program {.
static void Main ().
{
string[] stAr = new string[4]; for (int i = 0; i < stAr. Length; i++) stAr[i] = new stringC*', i + 1); foreach (string rs in stAr).
Console.Write («» + rs);
>
}
Результат выполнения программы:
В программе создан массив из четырех пустых строк. Он представлен ссылкой stAr. Обратите внимание, что для создания объектов, адресуемых элементами массива, применяется конструктор с прототипом string (char, int);. Этот конструктор создает строку в виде последовательности одинаковых символов, количество которых определяет второй параметр (первый параметр позволяет задать повторяемый символ). Итерационная переменная цикла foreach имеет тип string, так как просматриваемым контейнером служит массив типа string[].
Для иллюстрации возможностей методов SpHtQ, Join () рассмотрим следующую задачу. Пусть значением строки является предложение, слова которого разделены пробелами. Требуется заменить каждый пробел последовательностью символов Следующая программа решает сформулированную задачу.
// 0802.cs — декомпозиция и объединение строк using System; class Program {.
static void Main ().
{
string sent = «De gustibus non est disputandum» ;
110 вкусах не спорят
string[] words; 11 ссылка на массив строк words = sent. Split (' ');
Console.WriteLine («words.Length = «+ words. Length); foreach (string st in words).
Console.Write («{0} «, st); sent = string. Join («-:-» j words);
Console.WriteLine («» + sent);
}
>
Результат выполнения программы:
words.Length = Б.
De gustibus non est disputandum.
De-:-gustibus-:-non-:-est-:-disputandum.
В строке, связанной со ссылкой sent, помещены слова, разделенные пробелами. Определена ссылка words с типом массива строк (объектов класса string). Обращение sent. SplitC ') «разбивает» строку, адресованную ссылкой sent, на фрагменты. Признак разбиения — символ пробела ' ', использованный в качестве аргумента. Из выделенных фрагментов формируется массив (объект класса string[]), и ссылка на него присваивается переменной words.
Выражение words. Length равно длине (количеству элементов) сформированного массива. Напомним, что Length — свойство класса массивов string[], унаследованное от базового класса Array.
Оператор foreach перебирает элементы массива words, и итерационная переменная st последовательно принимает значения каждого из них (напомним, что особенность итерационной переменной состоит в том, что она позволяет только получать, но не позволяет изменять значения перебираемых элементов). В теле цикла foreach один оператор — обращение к статическому методу Write () класса Console. Его выполнение обеспечивает вывод значений элементов массива (строк). Эскейп-последовательность V в форматной строке разделяет табуляцией выводимые слова.
Статический метод Join () предназначен для выполнения действий в некотором смысле обратных действиям метода Split (). Обращение string. Join («-:-», words) объединяет (конкатенирует) строки массива, представленного ссылкой words, т. е. соединяет в одну строку слова исходного предложения. Между словами вставляется как разделитель строка, использованная в качестве первого аргумента метода Join (). Тем самым каждый пробел между словами исходной строки заменяется строкой.