Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
29.02.2016
Размер:
5 Mб
Скачать

Изменяемые строки

Чтобы создать строку, которую можно изменять, в С# предусмотрен класс StringBuilder, определенный в пространстве имен System.Text. Объекты этого класса всегда объявляются с явным вызовом конструктора класса (через операцию new) . Примеры создания изменяемых строк:

StringBuilder a =new StringBuilder(); //создание пустой строки, размер по умолчанию 16 символов

//инициализация строки и выделение необходимой памяти

StringBuilder b = new StringBuilder("abcd");

//создание пустой строки и выделение памяти под 100 символов

StringBuilder с = new StringBuilder(100);

//инициализация строки и выделение памяти под 100 символов

StringBuilder d = new StringBuilder("abcd", 100);

//инициализация подстрокой "bcd", и выделение памяти под 100 символов

StringBuilder d = new StringBuilder("abcd", 1, 3,100);

Основные элементы класса приведены в таблице:

Название

Вид

Описание

Append

Экземплярный метод

Добавление данных в конец строки. Разные варианты метода позволяют добавлять в строку величины любых встроенных типов, массивы символов, строки и подстроки string.

AppendFormat

Экземплярный метод

Добавление форматированной строки в конец строки

Capacity

свойство

Получение и установка емкости буфера. Если устанавливаемое значение меньше текущей длины строки или больше максимального, то генерируется исключение ArgumentOutOfRangeException

Insert

Экземплярный метод

Вставка подстроки в заданную позицию

Length

изменяемое свойство

Возвращает длину строки. Присвоение ему значения 0 сбрасывает содержимое и очищает строку

MaxCapacity

неизменное свойство

Возвращает наибольшее количество символов, которое может быть размещено в строке

Remove

Экземплярный метод

Удаление подстроки из заданной позиции

Replace

Экземплярный метод

Замена всех вхождений заданной подстроки или символа новой подстрокой или символом

ToString

Экземплярный метод

Преобразование в строку типа string

Chars

изменяемое свойство

Возвращает из массива или устанавливает в массиве символ с заданным индексом. Вместо него можно пользоваться квадратными скобками []

Equals

Экземплярный метод

Возвращает true, только если объекты имеют одну и ту же длину и состоят из одних и тех же символов

CopyTo

Экземплярный метод

Копирует подмножество символов строки в массив char

Операторы ветвления

Ветвление — это способ управлять тем, какая строка кода должна выполняться следующей. Строка, на которую следует передать управление, определяется с помощью некоторого условного оператора. Работа такого условного оператора основана на выполнении сравнения контрольного значения и одного или нескольких возможных значений с использованием булевой логики.

В этом разделе мы рассмотрим три способа ветвления, имеющихся в С#:

• Тринарный оператор

• Оператор if

• Оператор switch

Тринарный оператор

<проверка> ?<результатЕслиИстина> :<результатЕслиЛожь>

В данном случае условие <проверка> вычисляется для получения логического значения, и в зависимости от него результатом выполнения этого оператора будет<результатЕслиИстина> ИЛИ <результатЕслиЛожь>.

Мы можем использовать этот оператор следующим образом:

string resultString = (mylnteger < 10) ? "Меньше 10" : "Больше или равно 10";

Результатом выполнения тринарного оператора будет одна из двух строк, каждая из которых может быть присвоена переменной resultString. Выбор того, какую именно из этих двух строк следует присвоить, производится путем сравнения значения переменной my integer с 10, причем если значение переменной меньше 10, присваивается первая строка, а если больше или равно 10 — вторая. Например, в том случае, если значение переменной mylnteger равняется 4, переменной resultString будет присвоена строка 'Меньше 10".

.

Условный оператор if

Условный оператор ifиспользуется для разветвления процесса обработки данных на два направления. Он может иметь одну из форм:сокращеннуюилиполную.

Форма сокращенного оператора if:

if (B) S;

где В – логическое или арифметическое выражение, истинность которого проверяется;S– оператор: простой или составной.

При выполнении сокращенной формы оператора ifсначала вычисляется выражениеB, затем проводится анализ его результата: еслиBистинно, то выполняется операторS; еслиBложно, то операторSпропускается. Таким образом, с помощью сокращенной формы оператораifможно либо выполнить оператор S, либо пропустить его.

Форма полного оператора if:

if(B)S1;elseS2;

где B– логическое или арифметическое выражение, истинность которого проверяется;S1, S2- оператор: простой или составной.

if {<условие>)

{

код, который выполняется, если вычисление <условия> дает результат true>;

}

Else

{

код, который выполняется, если вычисление <условия> дает результат £alse>;

}

При выполнении полной формы оператора ifсначала вычисляется выражениеB, затем анализируется его результат: еслиBистинно, то выполняется операторS1, а операторS2пропускается; еслиBложно, то выполняется операторS2, аS1– пропускается. Таким образом, с помощью полной формы оператораifможно выбрать одно из двух альтернативных действий процесса обработки данных.

Рассмотрим несколько примеров записи условного оператора if:

if(a> 0)x=y;// Сокращенная форма c простым оператором

if(++i) {x=y;y=2*z;}// Сокращенная форма c составным оператором

if(a> 0 || b<0)x=y;elsex=z;// Полная форма с простым оператором

if(i+j-1) {x= 0;y= 1;}else{x=1;y:=0;}// Полная форма с составными операторами

Рассмотрим пример использования условного оператора.

static void Main()

{

Console.Write("x= ");

float x = float.Parse(Console.ReadLine());

Console.Write("y=");

float y = float.Parse(Console.ReadLine());

if (x < y ) Console.WriteLine("min= "+x);

else Console.WriteLine("min= "+y);

}

Результат работы программы: x y min

0 0 0

1 -1 -1

-2 2 -2

Соседние файлы в папке НПП_6_з_2013