Чтение онлайн

ЖАНРЫ

Полное руководство. С# 4.0
Шрифт:

Вот к какому результату приводит выполнение этой программы. Команда: 100 + 19 , результат: 119 Команда: 100 / 3,3 , результат: 30,3030303030303 Команда: -3 * 9 , результат: -27 Команда: 100 - 87 , результат: 13

Начиная с версии 4.0, в среде .NET Framework стали доступными следующие до полнительные формы метода Join. public static string Join(string separator, params object[] values) public static string Join(string separator, IEnumerable<string>[] values) public static string Join<T>(string separator, IEnumerable<T>[] values)

В первой форме рассматриваемого здесь метода возвращается строка, содержащая строковое представление объектов

из массива values. Во второй форме возвращается строка, содержащая результат сцепления коллекции строк, обозначаемой параметром values. И в третьей форме возвращается строка, содержащая результат сцепления строковых представлений объектов из коллекции, обозначаемой параметром values. Во всех трех случаях каждая предыдущая строка отделяется от последующей раздели телем, определяемым параметром separator. Заполнение и обрезка строк

Иногда в строке требуется удалить начальные и конечные пробелы. Такая операция называется обрезкой и нередко требуется в командных процессорах. Например, про грамма ведения базы данных способна распознавать команду "print", но пользователь может ввести эту команду с одним иди несколькими начальными и конечными про белами. Поэтому перед распознаванием введенной команды необходимо удалить все подобные пробелы. С другой стороны, строку иногда требуется заполнить пробелами, чтобы она имела необходимую минимальную длину. Так, если подготавливается вы вод результатов в определенном формате, то каждая выводимая строка должна иметь определенную длину, чтобы сохранить выравнивание строк. Для упрощения подобных операций в C# предусмотрены соответствующие методы.

Для обрезки строк используется одна из приведенных ниже форм метода Trim. public string Trim public string Trim(params char[] trimChars)

В первой форме метода Trim из вызывающей строки удаляются начальные и конечные пробелы. А во второй форме этого метода удаляются начальные и конечные вхождения в вызывающей строке символов из массива trimChars. В обеих формах возвращается получающаяся в итоге строка.

Строку можно заполнить символами слева или справа. Для заполнения строки сле ва служат такие формы метода PadLeft. public string PadLeft(int totalWidth) public string PadLeft(int totalWidth, char paddingChar)

В первой форме метода PadLeft вводятся пробелы с девой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра totalWidth. А во второй форме данного метода символы, обозначаемые параметром paddingChar, вво дятся с левой стороны вызывающей строки, чтобы ее общая длина стала равной зна чению параметра totalWidth. В обеих формах возвращается получающаяся в итоге строка. Если значение параметра totalWidth меньше длины вызывающей строки, то возвращается копия неизмененной вызывающей строки.

Для заполнения строки справа служат следующие формы метода PadRight. public string PadRight(int totalWidth) public string PadRight(int totalWidth, char paddingChar)

В первой форме метода PadLeft вводятся пробелы с правой стороны вызываю щей строки, чтобы ее общая длина стала равной значению параметра totalWidth. А во второй форме данного метода символы, обозначаемые параметром paddingChar, вводятся с правой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра totalWidth. B обеих формах возвращается получающаяся в ито ге строка. Если значение параметра totalWidth меньше длины вызывающей строки, то возвращается копия неизмененной вызывающей строки.

В приведенном ниже примере программы демонстрируются обрезка и заполнение строк. // Пример обрезки

и заполнения строк. using System; class TrimPadDemo { static void Main { string str = "тест"; Console.WriteLine("Исходная строка: " + str); // Заполнить строку пробелами слева. str = str.PadLeft(10); Console.WriteLine (" | " + str + "|"); // Заполнить строку пробелами справа, str = str.PadRight(20); Console.WriteLine("|" + str + "|"); // Обрезать пробелы. str = str.Trim; Console.WriteLine("|" + str + "|"); // Заполнить строку символами # слева. str = str.PadLeft(10, '#'); Console.WriteLine("|" + str + "|"); // Заполнить строку символами # справа. str = str.PadRight(20, '#'); Console.WriteLine("|" + str + "|"); // Обрезать символы #. str = str.Trim('#'); Console.WriteLine("|" + str + "|"); } }

Эта программа дает следующий результат. Исходная строка: тест | тест| | тест | |тест| |######тест| |######тест##########| |тест| Вставка, удаление и замена строк

Для вставки одной строки в другую служит приведенный ниже метод Insert: public string Insert(int startIndex, string value)

где value обозначает строку, вставляемую в вызывающую строку по индексу startIndex. Метод возвращает получившуюся в итоге строку.

Для удаления части строки служит метод Remove. Ниже приведены две его формы. public string Remove(int startIndex) public string Remove(int startIndex, int count)

В первой форме метода Remove удаление выполняется, начиная с места, указы ваемого по индексу startIndex, и продолжается до конца строки. А во второй форме данного метода из строки удаляется количество символов, определяемое параметром count, начиная с места, указываемого по индексу startIndex. В обеих формах воз вращается получающаяся в итоге строка.

Для замены части строки служит метод Replace. Ниже приведены две его формы. public string Replace(char oldChar, char newChar) public string Replace(string oldValue, string newValue)

В первой форме метода Replace все вхождения символа oldChar в вызывающей строке заменяются символом newChar. А во второй форме данного метода все вхож дения строки oldValue в вызывающей строке заменяются строкой newValue. В обеих формах возвращается получающаяся в итоге строка.

В приведенном ниже примере демонстрируется применение методов Insert, Remove и Replace. // Пример вставки, замены и удаления строк. using System; class InsRepRevDemo { static void Main { string str = "Это тест"; Console.WriteLine("Исходная строка: " + str); // Вставить строку. str = str.Insert(4, "простой "); Console.WriteLine(str); // Заменить строку. str = str.Replace("простой", "непростой "); Console.WriteLine(str); // Заменить символы в строке str = str.Replace('т', 'X'); Console.WriteLine(str); // Удалить строку. str = str.Remove(4, 5); Console.WriteLine(str); } }

Ниже приведен результат выполнения этой программы. Исходная строка: Это тест Это простой тест Это непростой тест ЭХо непросХой ХесХ ЭХо сХой ХесХ Смена регистра

В классе String предоставляются два удобных метода, позволяющих сменить ре гистр букв в строке, — ToUpper и ToLower. Ниже приведены их простейшие формы. public string ToLower public string ToUpper

Метод ToLower делает строчными все буквы в вызывающей строке, а метод ToUpper делает их прописными. В обоих случаях возвращается получающаяся в итоге строка. Имеются также следующие формы этих методов, в которых можно ука зывать информацию о культурной среде и способы преобразования символов. public string ToLower(CultureInfo culture) public string ToUpper(CultureInfo culture)

Поделиться с друзьями: