|
Программирование >> Автоматически обновляемые приложения
Листинг 2.8. Создание строки из повторяющихся символов Создаем строку из 5 звездочек System.String FiveStars = new System.String(*, 5); textBoxl.Text = FiveStars; Bee остальные методы для работы со строками вы можете изучить самостоятельно. Комбинируя строковые методы, можно добиться некоторых интересных эффектов. Метод String.Format Не забывайте о возможности использовать метод string.Format при выводе строк для представления текста в нужном виде. Например, чтобы вывести строчку Стоимость BMW равна 12 000 р. , можно использовать код, показанный в листинге 2.9. I Листинг 2.9. Использование метода string. Format private void butFormatStr Click(object sender, EventArgs e) { string AutoName; AutoName = BMW ; textBoxl.Text = String.Format( Стоимость {0} равна {l:0.0;c} , AutoName, 12000); Преобразование строки в объект Color Если у вас возникнет необходимость преобразовать строку с названием цвета в сам объект Color, ТО воспользуйтесь классами TypeDescriptor И TypeConverter, который предоставляет унифицированный способ конвертирования типов значений в другие типы. Например, мы хотим преобразовать цвет Color.Blue в строку (или наоборот, преобразовать строку Green в объект Color). Делается это, как показано в листинге 2.10. Создание строки из повторяющихся символов Для создания строки, состоящей из одинаковых символов, достаточно (листинг 2.8) использовать простую конструкцию. private void butColorName Click(object sender, EventArgs e) { Задаем цвет Color clr = Color.Blue; Получим имя выбранного цвета textBoxl.Text = (TypeDescriptor.GetConverter(clr) .ConvertToString(clr) ) ; Обратная задача. Конвертируем название цвета Green в объект Color clr = (Color)TypeDescriptor.GetConverter( typeof(Color)) .ConvertFromString( Green ) ; Закрашиваем форму в выбранный цвет this.BackColor = clr; Проверка строки на пустоту Существует несколько способов проверить строку на пустоту: П if (myString == ) пустая строка; □ if (myString == St ring. Empty) пустая строка , П if (myString.Length ==0) строка с нулевой длиной; П if (String.Equals(myString, String.Empty)) . Ян Нельсон (Ian Nelson) в своем блоге http: ianfnelson.coni/blog/ archive/2004/07/30/171.aspx не поленился и подсчитал, сколько времени занимает каждый из этих вариантов при обработке 50 миллионов итераций. Результаты вы можете посмотреть на сайте, но самым быстрым вариантом стал третий способ. Но данный способ не учитывает, что строка может принимать значение null. Эксперименты проводились в 2004 году. С появлением .NET Framework 2.0 класс system, string обзавелся новым статическим методом isNuiiOrEmpty (ЛИСТИНГ 2.11), который позволяет быстро и просто проверить строку - пустая она или имеет значение null. : Листинг 2Л1. Проверка строки на пустоту public void SayHello(string name) Листинг 2.10 Преобразование строки в объект Color и обратно Переворачиваем строку Иногда встречается задача перевернуть строку наоборот. В Visual Basic 6.0 появилась удобная строковая функция strReverse, которая позволяла быстро и удобно перевернуть строку. Разработчики Visual Studio оставили эту функцию для программистов Visual Basic .NET. Таким образом, вам нужно установить ссылку на пространство имен Microsoft .VisualBasic И воспользоваться функцией по своему назначению (листинг 2.12). \ Листинг 2.12. Переворачиваем строку при помощи функции Visual Basic using Microsoft.VisualBasic; private void butReverseVB Click(object sender, EventArgs e) { Взять текст из текстового поля Например, А роза упала на лапу Азора string myString = textBoxl.Text; Используем встроенную функцию Visual Basic textBoxl.Text = Strings.StrReverse(myString); Если вы по каким-то причинам не хотите пользоваться библиотекой Visual Basic, можно написать собственную процедуру переворачивания строки, приведенную в листинге 2.13. \ Листинг 2.13, Переворачиваем строку при помощи С# public static string ReverseString(string str) { Проверка на непустоту строки, if(string.IsNullOrEmpty(str)) { return str; if ( string.IsNullOrEmpty(name) ) throw new ArgumentNullException( name ); MessageBox.Show( string.Concat( Hello, name) );
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |