|
Программирование >> Программирование с использованием ajax
не будет. Потребуется усечь введенную строку что можно сделать с помощью команды <строка>.Тг1т(): string userResponse = Console.ReadLine(); userResponse = userResponse.Trim(); if (userResponse.ToLower0 == yes ) Выполнение действия в ответ. Применение такого подхода позволит также распознавать и такие строки, как: YES Yes Эти команды можно применять и для удаления любых других символов, указывая их в массиве char, например: char[] trimChars={ е, slustring userResponse = Console.ReadLine (); userResponse = userResponse.ToLower (); userResponse = userResponse.Trim(trimChars); if (userResponse == y ) { Выполнение действия в ответ. Этот код предусматривает устранение любых вхождений символов пробела, буквы е и буквы S в начале или конце строки. В случае отсутствия любых других символов в строке это будет приводить к распознаванию таких строк, как Yeeeees у II и т.д. Еще можно применять команды <строка>. TrimStart () и <строка>. TrimEnd (), которые будут отсекать символы пробела, соответственно, в начале и конце строки. С ними тоже можно задавать массивы char. Существуют еще две других строковых команды, которые можно использовать для манипулирования пробелами в строках: <строка>. PadLef t () и <строка>. PadRight (). Эти команды позволяют добавлять пробелы слева и справа от строки для принудительного приведения ее к желаемой длине. Применяются они следующим образом: <строка>. PadX {<желаемая длина>) ; Ниже приведен пример: myString = Aligned ; myString = myString.PadLeft(10) ; Выполнение этого кода приведет к добавлению слева от слова Aligned в myString трех пробелов. Данные команды могут быть очень полезными при выравнивании строк в столбцах, что является особенно удобным для позиционирования строк, содержащих числа. Как и команды усечения, эти команды тоже можно использовать вторым способом, предоставляя в них символ, который должен применяться для дополнения строки. Указывать разрешено только один символ char, а не массив символов char, как в случае усечения: myString = Aligned ; myString = myString.PadLeft(10, -) ; Выполнение этого кода приведет к добавлению в начале myString трех символов -. Существует еще очень много подобных команд для манипулирования строками, но большинство из них полезно только в специфических ситуациях. Поэтому они будут рассматриваться по мере их применения в последующих главах. Прежде чем продолжить, однако, стоить рассмотреть еще одну функциональную возможность, доступную как в Visual С# 2008 Express Edition, так и в Visual Studio 2008, действие которой уже можно было заметить в предыдущих главах и особенно в этой. В следующем практическом занятии демонстрируется функция автоматического завершения команд (auto-completion), посредством которой IDE пытается помогать разработчику, предлагая различные варианты кода, которые тот может захотеть вставить. Практнчеси *тмДр] 1. Создайте новое консольное приложение по имени Ch05Ex05 и сохраните его в каталоге С: \BegVCSharp\Chapter05. 2. Введите в файле Program. cs следующий код, в точности набирая указанные символы и обращая внимание на всплывающие окна, которые будут появляться по ходу: static void Main(string[] args) string myString = This is a test. ; char[] separator = { }; string[] myWords; myWords = myString. ♦ clone ♦ CompereTo % Containj ♦ CopyTo ♦ EndjWtth % Equals ♦ GetEnumerator ♦ GetHajhCode ♦ GetType ♦ GctTypeCode 3. После ввода последней точки должно появиться окно, показанное на рис. 5.12. 4. Не передвигая курсор, введите s. Это приведет к изменению внешнего вида отображающегося окна и появлению всплывающей подсказки, как показано на рис. 5.13 (эта подсказка будет желтого цвета). 5. Введите следующие символы: (separator) ;. После этого всплывающее окно должно исчезнуть, а код будет выглядеть следующим образом: static void Main(string[] args) Рис. 5.12. Окно, появляющееся после ввода последней точки string myString = This is a test. ; char[] separator = ( }; string [] myWords; myWords = myString. Split (separator) ; Tolowerlnveiiant stnngO string Split(stringO separator, int count, StringSpliroptions options) {* 5 overload(s)) Returns a stnng array that contains the substnngs in this stnng that are delimited l}y elements of a specified string array Parameters specif the maximum number of substnngs to retum and whether to return empty array elements Exceptions System ArgumenroutOfRangeException System ArgumentException Puc. 5.13. Отображени£ всплывающей подскажи 7. Запустите приложение. На рис. 5.14 показан результат, который должен получиться. Рис. 5.14. Приложение Ch05Ex05 в действии Описание полученных результатов в приведенном коде важно обратить внимание на два таких главных момента: использование новой строковой команды и применение функции автоматического завершения кода. Новая строковая команда - <string>. Split () - преобразует строку string в массив string, разбивая на части в указанных точках. Эти точки принимают форму массива char, который в данном случае просто заполняется одним единственным элементом - символом пробела: char[] separator = { }; В следующем коде получаются подстроки, выходящие в результате разбиения строки после каждого пробела, т.е. массив отдельных слов: string[] myWords; myWords = myString.Split(separator); Далее все слова в этом массиве с помощью цикла foreach выводятся на консоль: foreach (string word in myWords) { Console.WriteLine( {0} , word); Каждое получаемое слово не содержит пробелов, ни внутри, ни в конце. Все они удаляются благодаря использованию команды Split (). Теперь рассмотрим то, что касается функции автоматического завершения кода. VS и VCE являются весьма интеллектуальным программным обеспечением, которое способно разбираться в большинстве касающихся кода деталей по мере его ввода. Даже когда вводится только первый символ в новой строке, IDE уже пытается помочь, предлагая различные варианты ключевых слов, имен переменных, имен типов и т.д. 6. Добавьте следующий код, обращая внимание на окна, которые будут появляться по мере его ввода: static void Main(string [ ] args) { string myString = This is a test. ; char[] separator = { }; string[] myWords; myWords = myString.Split(separator); foreach (string word in myWords) { Console.WriteLine( {0} , word); Console.ReadKey();
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |